diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b59d67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +.metadata +RemoteSystemsTempFiles +# Compiled Object files +*.slo +*.lo +*.o +*.obj +*.os + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# scons and project specific files +*.dblite +*~ +oadrcmds +*.swp +*.settings + +oadrlib-path.sh +.pydevproject + +.project +.cproject + +*.pyc + diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..e3d424f --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,317 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + diff --git a/SConstruct b/SConstruct new file mode 100644 index 0000000..69112c4 --- /dev/null +++ b/SConstruct @@ -0,0 +1,36 @@ +import glob +import os +import shutil +import sconsHelper + +# save running directory +PWD = os.getcwd() + +# get and parse arguments +buildmode = ARGUMENTS.get('mode', 'debug') #holds current mode + +if not (buildmode in ['debug', 'release']): + print ("Error: Invalid build mode: {0}. Please specify debug or release - aborting build.".format(buildmode)) + +print("BUILDING IN {0} mode.".format(buildmode)) + +if buildmode == 'debug': + cflags = ['-pthread', '-Wall', '-O0', '-g3', '-c', '-Wl,--verbose', '-fmessage-length=0', '-D_CURL_DEBUG'] + +else: + cflags = ['-pthread', '-O2', '-DNDEBUG', '-c', '-Wl,--verbose', '-fmessage-length=0'] + +# Make the environment variables available to child sconscripts. +Export('cflags buildmode') + +# build oadrsd shared object (serialize/deserialize library) +SConscript('oadrsd/SConscript') + +# build oadr shared object (VEN implementation) +SConscript('oadr/SConscript') + +# unit tests +SConscript('oadrtest/SConscript') + +# sample VEN +SConscript('sample/SConscript') diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..1c67dbf --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +v0.0.5.3 diff --git a/manual/EPRI-OADR-Library-V2.pdf b/manual/EPRI-OADR-Library-V2.pdf new file mode 100644 index 0000000..96c6020 Binary files /dev/null and b/manual/EPRI-OADR-Library-V2.pdf differ diff --git a/oadr/.gitignore b/oadr/.gitignore new file mode 100644 index 0000000..8abcbcf --- /dev/null +++ b/oadr/.gitignore @@ -0,0 +1,3 @@ +/Debug +/Release +/mac-Debug diff --git a/oadr/SConscript b/oadr/SConscript new file mode 100644 index 0000000..3316a46 --- /dev/null +++ b/oadr/SConscript @@ -0,0 +1,13 @@ +import glob +import os +import sconsHelper + +Import('cflags buildmode') + +cppPath = ['#oadrsd', '../xsd-4.0.0'] +libDir = ['../oadrsd/' + buildmode] +libs = ['ssl', 'crypto', 'pthread', 'curl', 'xerces-c', 'oadrsd'] + +sconsHelper.build('oadr', cppPath, cflags, libDir, libs, buildmode, "shared") + + diff --git a/oadr/oadr/helper/RandomHex.cpp b/oadr/oadr/helper/RandomHex.cpp new file mode 100644 index 0000000..82ce832 --- /dev/null +++ b/oadr/oadr/helper/RandomHex.cpp @@ -0,0 +1,362 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "RandomHex.h" + +RandomHex *RandomHex::m_instance = NULL; +char RandomHex::m_hexDigits[] = "0123456789ABCDEF"; + + +RandomHex::RandomHex() +{ + srand(time(NULL)); +} + +/********************************************************************************/ + +RandomHex::~RandomHex() +{ +} + +/********************************************************************************/ + +RandomHex *RandomHex::instance() +{ + if (m_instance == NULL) + m_instance = new RandomHex(); + + return m_instance; +} + +/********************************************************************************/ + +string RandomHex::generateRandomHex(int length) +{ + string s; + + for (int x = 0; x < length; x++) + s.append(1, m_hexDigits[rand() % 16]); + + return s; +} + +/********************************************************************************/ + +void seed(unsigned int seed) +{ + srand(seed); +} diff --git a/oadr/oadr/helper/RandomHex.h b/oadr/oadr/helper/RandomHex.h new file mode 100644 index 0000000..a171ddc --- /dev/null +++ b/oadr/oadr/helper/RandomHex.h @@ -0,0 +1,343 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef RANDOMHEX_H_ +#define RANDOMHEX_H_ + +#include +#include + +using namespace std; + +class RandomHex +{ +private: + static RandomHex *m_instance; + static char m_hexDigits[]; + +public: + RandomHex(); + virtual ~RandomHex(); + + static RandomHex *instance(); + + string generateRandomHex(int length = 10); + + void seed(unsigned int seed); +}; + +#endif /* RANDOMHEX_H_ */ diff --git a/oadr/oadr/request/CancelPartyRegistration.cpp b/oadr/oadr/request/CancelPartyRegistration.cpp new file mode 100644 index 0000000..41391b2 --- /dev/null +++ b/oadr/oadr/request/CancelPartyRegistration.cpp @@ -0,0 +1,349 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CancelPartyRegistration.h" + +CancelPartyRegistration::CancelPartyRegistration(string venID, string registrationID, string requestID) : + Oadr2bRequest("oadrCancelOpt", "oadrCanceledOpt", venID, requestID), + m_registrationID(registrationID) +{ +} + +/********************************************************************************/ + +CancelPartyRegistration::~CancelPartyRegistration() +{ +} + +/********************************************************************************/ + +auto_ptr CancelPartyRegistration::generatePayload() +{ + auto_ptr cpr(new oadrCancelPartyRegistrationType(requestID(), m_registrationID)); + + cpr->schemaVersion("2.0b"); + + cpr->venID(venID()); + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrCancelPartyRegistration(cpr); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/CancelPartyRegistration.h b/oadr/oadr/request/CancelPartyRegistration.h new file mode 100644 index 0000000..029626e --- /dev/null +++ b/oadr/oadr/request/CancelPartyRegistration.h @@ -0,0 +1,339 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CANCELPARTYREGISTRATION_H_ +#define CANCELPARTYREGISTRATION_H_ + +#include + +#include "Oadr2bRequest.h" + +class CancelPartyRegistration : public Oadr2bRequest +{ +private: + string m_registrationID; + +protected: + virtual auto_ptr generatePayload(); + +public: + CancelPartyRegistration(string venID, string registrationID, string requestID = ""); + + virtual ~CancelPartyRegistration(); +}; + +#endif /* CANCELPARTYREGISTRATION_H_ */ diff --git a/oadr/oadr/request/CanceledReport.cpp b/oadr/oadr/request/CanceledReport.cpp new file mode 100644 index 0000000..abfb10d --- /dev/null +++ b/oadr/oadr/request/CanceledReport.cpp @@ -0,0 +1,334 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CanceledReport.h" + +CanceledReport::CanceledReport(string venID, string responseCode, string responseDescription, string requestID, vector *pendingReportIDs) : + Oadr2bRequest("oadrCanceledReport", "oadrReport", venID, requestID), + m_responseCode(responseCode), + m_responseDescription(responseDescription) +{ + if (pendingReportIDs != NULL) + m_pendingReportIDs = *pendingReportIDs; +} + +/********************************************************************************/ + +CanceledReport::~CanceledReport() +{ +} + diff --git a/oadr/oadr/request/CanceledReport.h b/oadr/oadr/request/CanceledReport.h new file mode 100644 index 0000000..26fcd43 --- /dev/null +++ b/oadr/oadr/request/CanceledReport.h @@ -0,0 +1,340 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CANCELEDREPORT_H_ +#define CANCELEDREPORT_H_ + +#include "Oadr2bRequest.h" + +#include + +using namespace std; + +class CanceledReport: public Oadr2bRequest +{ +private: + string m_venID; + string m_responseCode; + string m_responseDescription; + vector m_pendingReportIDs; + +public: + CanceledReport(string venID, string responseCode, string responseDescription, string requestID = "", vector *pendingReportIDs = NULL); + virtual ~CanceledReport(); +}; + +#endif /* CANCELEDREPORT_H_ */ diff --git a/oadr/oadr/request/CreatePartyRegistration.cpp b/oadr/oadr/request/CreatePartyRegistration.cpp new file mode 100644 index 0000000..db82b36 --- /dev/null +++ b/oadr/oadr/request/CreatePartyRegistration.cpp @@ -0,0 +1,363 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreatePartyRegistration.h" + +CreatePartyRegistration::CreatePartyRegistration(string venID, string requestID, + string registrationID, oadrProfileType profileType, oadrTransportType transportType, string transportAddress, + bool reportOnly, bool xmlSignature, string venName, bool httpPullModel) : + Oadr2bRequest("oadrCreatePartyRegistration", "oadrCreatedPartyRegistration", venID, requestID), + m_registrationID(registrationID), + m_profileType(profileType), + m_transportType(transportType), + m_transportAddress(transportAddress), + m_reportOnly(reportOnly), + m_xmlSignature(xmlSignature), + m_venName(venName), + m_httpPullModel(httpPullModel) +{ + +} + +/********************************************************************************/ + +CreatePartyRegistration::~CreatePartyRegistration() +{ +} + +/********************************************************************************/ + +auto_ptr CreatePartyRegistration::generatePayload() +{ + oadrCreatePartyRegistrationType cpr(requestID(), m_profileType, + m_transportType, m_reportOnly, m_xmlSignature); + + cpr.schemaVersion("2.0b"); + + cpr.oadrHttpPullModel(m_httpPullModel); + + if (m_venName != "") + cpr.oadrVenName(m_venName); + + oadrSignedObject oso; + + oso.oadrCreatePartyRegistration(cpr); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/CreatePartyRegistration.h b/oadr/oadr/request/CreatePartyRegistration.h new file mode 100644 index 0000000..b03f663 --- /dev/null +++ b/oadr/oadr/request/CreatePartyRegistration.h @@ -0,0 +1,349 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEPARTYREGISTRATION_H_ +#define CREATEPARTYREGISTRATION_H_ + +#include "Oadr2bRequest.h" + +#include +#include + +class CreatePartyRegistration: public Oadr2bRequest +{ +private: + string m_registrationID; + oadrProfileType m_profileType; + oadrTransportType m_transportType; + string m_transportAddress; + bool m_reportOnly; + bool m_xmlSignature; + string m_venName; + bool m_httpPullModel; + +protected: + virtual auto_ptr generatePayload(); + +public: + CreatePartyRegistration(string venID, string requestID, + string registrationID, oadrProfileType profileType, oadrTransportType transportType, string transportAddress, + bool reportOnly, bool xmlSignature, string venName, bool httpPullModel); + + virtual ~CreatePartyRegistration(); +}; + +#endif /* CREATEPARTYREGISTRATION_H_ */ diff --git a/oadr/oadr/request/CreatedEvent.cpp b/oadr/oadr/request/CreatedEvent.cpp new file mode 100644 index 0000000..aa39052 --- /dev/null +++ b/oadr/oadr/request/CreatedEvent.cpp @@ -0,0 +1,360 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreatedEvent.h" + +CreatedEvent::CreatedEvent(string venID, string responseCode, string responseDescription, EventResponses &responses, string requestID) : + Oadr2bRequest("oadrCreatedEvent", "oadrResponse", venID, responseCode, responseDescription, requestID), + m_eventResponses(responses) +{ + +} + +/********************************************************************************/ + +CreatedEvent::~CreatedEvent() +{ +} + +/********************************************************************************/ + +auto_ptr CreatedEvent::generatePayload() +{ + auto_ptr eir(new EiResponseType(responseCode(), requestID())); + + eir->responseDescription(responseDescription()); + + auto_ptr eice(new eiCreatedEvent(eir, venID())); + + eice->eventResponses(m_eventResponses.createEventResponses()); + + // if there are CreatedEvent objects, the eiResponse requestID must be empty + if (eice->eventResponses()->eventResponse().size() != 0) + eice->eiResponse().requestID(""); + + auto_ptr ce(new oadrCreatedEventType(eice)); + + ce->schemaVersion("2.0b"); + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrCreatedEvent(ce); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/CreatedEvent.h b/oadr/oadr/request/CreatedEvent.h new file mode 100644 index 0000000..67b90ea --- /dev/null +++ b/oadr/oadr/request/CreatedEvent.h @@ -0,0 +1,345 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEDEVENT_H_ +#define CREATEDEVENT_H_ + +#include +#include +#include + +#include "Oadr2bRequest.h" + +#include "EventResponses.h" + +using namespace oadr2b::ei; +using namespace payloads; + +class CreatedEvent: public Oadr2bRequest +{ +private: + EventResponses m_eventResponses; + +protected: + virtual auto_ptr generatePayload(); + +public: + CreatedEvent(string venID, string responseCode, string responseDescription, EventResponses &responses, string requestID = ""); + virtual ~CreatedEvent(); +}; + +#endif /* CREATEDEVENT_H_ */ diff --git a/oadr/oadr/request/CreatedReport.cpp b/oadr/oadr/request/CreatedReport.cpp new file mode 100644 index 0000000..24d6be2 --- /dev/null +++ b/oadr/oadr/request/CreatedReport.cpp @@ -0,0 +1,332 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreatedReport.h" + +CreatedReport::CreatedReport(string venID, vector *pendingReports, string responseCode, string responseDescription, string requestID) : + Oadr2bRequest("oadrCreatedReport", "oadrResponse", venID, responseCode, responseDescription, requestID) +{ + if (pendingReports != NULL) + m_pendingReports = *pendingReports; +} + +/********************************************************************************/ + +CreatedReport::~CreatedReport() +{ +} + diff --git a/oadr/oadr/request/CreatedReport.h b/oadr/oadr/request/CreatedReport.h new file mode 100644 index 0000000..097ff07 --- /dev/null +++ b/oadr/oadr/request/CreatedReport.h @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEDREPORT_H_ +#define CREATEDREPORT_H_ + +#include "Oadr2bRequest.h" + +#include + +using namespace std; + +class CreatedReport: public Oadr2bRequest +{ +private: + vector m_pendingReports; + +public: + CreatedReport(string venID, vector *pendingReports, string responseCode = "200", string responseDescription = "OK", string requestID = ""); + virtual ~CreatedReport(); +}; + +#endif /* CREATEDREPORT_H_ */ diff --git a/oadr/oadr/request/DurationModifier.cpp b/oadr/oadr/request/DurationModifier.cpp new file mode 100644 index 0000000..b5c8f4d --- /dev/null +++ b/oadr/oadr/request/DurationModifier.cpp @@ -0,0 +1,340 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "DurationModifier.h" + +DurationModifier* DurationModifier::SECONDS = new DurationModifier("S"); +DurationModifier* DurationModifier::MINUTES = new DurationModifier("M"); +DurationModifier* DurationModifier::HOURS = new DurationModifier("H"); + +DurationModifier::DurationModifier(string value) +{ + m_value = value; +} + +/********************************************************************************/ + +DurationModifier::~DurationModifier() +{ +} + +/********************************************************************************/ + +string DurationModifier::value() +{ + return m_value; +} diff --git a/oadr/oadr/request/DurationModifier.h b/oadr/oadr/request/DurationModifier.h new file mode 100644 index 0000000..2c48c7b --- /dev/null +++ b/oadr/oadr/request/DurationModifier.h @@ -0,0 +1,346 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef DURATIONMODIFIER_H_ +#define DURATIONMODIFIER_H_ + +/* + * + */ + +#include + +using namespace std; + +class DurationModifier +{ +private: + string m_value; + +public: + DurationModifier(string value); + + virtual ~DurationModifier(); + + string value(); + + static DurationModifier *SECONDS; + static DurationModifier *MINUTES; + static DurationModifier *HOURS; +}; + +#endif /* DURATIONMODIFIER_H_ */ diff --git a/oadr/oadr/request/EventResponses.cpp b/oadr/oadr/request/EventResponses.cpp new file mode 100644 index 0000000..2abc18a --- /dev/null +++ b/oadr/oadr/request/EventResponses.cpp @@ -0,0 +1,355 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "EventResponses.h" + +EventResponses::EventResponses() +{ +} + +/********************************************************************************/ + +EventResponses::~EventResponses() +{ +} + +/********************************************************************************/ + +void EventResponses::addEventResponse(string responseCode, string responseDescription, string eventID, unsigned int modificationNumber, + OptTypeType::value optType, string requestID) +{ + eventResponse::qualifiedEventID_type qeid(eventID, modificationNumber); + + OptTypeType ott(optType); + + eventResponse er(responseCode, requestID, qeid, ott); + + er.responseDescription(responseDescription); + + m_eventResponseSequence.push_back(er); +} + +/********************************************************************************/ + +auto_ptr EventResponses::createEventResponses() +{ + auto_ptr er(new eventResponses()); + + er->eventResponse(m_eventResponseSequence); + + return er; +} diff --git a/oadr/oadr/request/EventResponses.h b/oadr/oadr/request/EventResponses.h new file mode 100644 index 0000000..967aa8f --- /dev/null +++ b/oadr/oadr/request/EventResponses.h @@ -0,0 +1,353 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef EVENTRESPONSES_H_ +#define EVENTRESPONSES_H_ + +#include +#include + +#include +#include +#include +#include +#include + +#include "../helper/RandomHex.h" + +using namespace std; + +using namespace oadr2b::ei; + +class EventResponses +{ +private: + eventResponses m_eventResponses; + eventResponses::eventResponse_sequence m_eventResponseSequence; + +public: + EventResponses(); + + virtual ~EventResponses(); + + void addEventResponse(string responseCode, string responseDescription, string eventID, unsigned int modificationNumber, + OptTypeType::value optType, string requestID); + + auto_ptr createEventResponses(); +}; + +#endif /* EVENTRESPONSES_H_ */ diff --git a/oadr/oadr/request/Oadr2bHelper.cpp b/oadr/oadr/request/Oadr2bHelper.cpp new file mode 100644 index 0000000..f331753 --- /dev/null +++ b/oadr/oadr/request/Oadr2bHelper.cpp @@ -0,0 +1,412 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "Oadr2bHelper.h" + +Oadr2bHelper::Oadr2bHelper() +{ +} + +/********************************************************************************/ + +Oadr2bHelper::~Oadr2bHelper() +{ +} + +/********************************************************************************/ + +icalendar_2_0::dtstart Oadr2bHelper::timetTo_dtstart(time_t &utc) +{ + icalendar_2_0::DateTimeType temp_DateTimeType = timetToiCalDateTime(utc); + + icalendar_2_0::dtstart temp_dtstart(temp_DateTimeType); + + return temp_dtstart; +} + +/********************************************************************************/ + +icalendar_2_0::DateTimeType Oadr2bHelper::timetToiCalDateTime(time_t &utc) +{ + tm tm_utc; + + gmtime_r(&utc, &tm_utc); + + icalendar_2_0::DateTimeType dateTimeType(icalendar_2_0::DateTimeType(::xml_schema::date_time(tm_utc.tm_year + 1900, + tm_utc.tm_mon + 1, tm_utc.tm_mday, tm_utc.tm_hour, tm_utc.tm_min, tm_utc.tm_sec, 0, 0))); + + return dateTimeType; +} + +/********************************************************************************/ + +icalendar_2_0::DateTimeType Oadr2bHelper::nowToiCalDateTime() +{ + time_t now; + + time(&now); + + return timetToiCalDateTime(now); +} + +/********************************************************************************/ + +string Oadr2bHelper::generateDurationValueType(int duration, DurationModifier *durationModifier) +{ + stringstream ss; + + ss << "PT" << duration << durationModifier->value(); + + return ss.str(); +} + +/********************************************************************************/ + +icalendar_2_0::DurationPropType Oadr2bHelper::generateDurationPropType(int duration, DurationModifier *durationModifier) +{ + string value = generateDurationValueType(duration, durationModifier); + icalendar_2_0::DurationPropType durationProp(value); + + return durationProp; +} + +/********************************************************************************/ + +oadr2b::oadr::oadrLoadControlStateTypeType Oadr2bHelper::generateLoadControlStateType(float min, float max, float current, float normal) +{ + oadr2b::oadr::oadrLoadControlStateTypeType loadControlState(current); + + loadControlState.oadrMin(min); + loadControlState.oadrMax(max); + loadControlState.oadrNormal(normal); + + return loadControlState; +} + +/********************************************************************************/ + +oadr2b::oadr::oadrLoadControlStateType Oadr2bHelper::generateEmptyLoadControlState() +{ + oadr2b::oadr::oadrLoadControlStateType loadControlState; + + loadControlState.oadrCapacity(generateLoadControlStateType(0.0, 0.0, 0.0, 0.0)); + loadControlState.oadrLevelOffset(generateLoadControlStateType(0.0, 0.0, 0.0, 0.0)); + loadControlState.oadrPercentOffset(generateLoadControlStateType(0.0, 0.0, 0.0, 0.0)); + loadControlState.oadrSetPoint(generateLoadControlStateType(0.0, 0.0, 0.0, 0.0)); + + return loadControlState; +} diff --git a/oadr/oadr/request/Oadr2bHelper.h b/oadr/oadr/request/Oadr2bHelper.h new file mode 100644 index 0000000..a79608f --- /dev/null +++ b/oadr/oadr/request/Oadr2bHelper.h @@ -0,0 +1,353 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef OADR2BHELPER_H_ +#define OADR2BHELPER_H_ + +#include + +#include + +#include +#include +#include +#include +#include + +#include "DurationModifier.h" + +class Oadr2bHelper +{ +private: + virtual ~Oadr2bHelper(); + +public: + Oadr2bHelper(); + + static icalendar_2_0::dtstart timetTo_dtstart(time_t &utc); + static icalendar_2_0::DateTimeType timetToiCalDateTime(time_t &utc); + static icalendar_2_0::DateTimeType nowToiCalDateTime(); + + static string generateDurationValueType(int duration, DurationModifier *durationModifier); + static icalendar_2_0::DurationPropType generateDurationPropType(int duration, DurationModifier *durationModifier); + + static oadr2b::oadr::oadrLoadControlStateTypeType generateLoadControlStateType(float min, float max, float current, float normal); + + static oadr2b::oadr::oadrLoadControlStateType generateEmptyLoadControlState(); +}; + +#endif /* OADR2BHELPER_H_ */ diff --git a/oadr/oadr/request/Oadr2bRequest.cpp b/oadr/oadr/request/Oadr2bRequest.cpp new file mode 100644 index 0000000..bc7b19f --- /dev/null +++ b/oadr/oadr/request/Oadr2bRequest.cpp @@ -0,0 +1,473 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "Oadr2bRequest.h" + +Oadr2bRequest::Oadr2bRequest(string requestType, string responseType, string requestID) +{ + m_requestType = requestType; + m_responseType = responseType; + + m_requestID = (requestID != "" ? requestID : RandomHex::instance()->generateRandomHex()); +} + +/********************************************************************************/ + +Oadr2bRequest::Oadr2bRequest(string requestType, string responseType, string venID, string requestID) +{ + m_requestType = requestType; + m_responseType = responseType; + + m_venID = venID; + + m_requestID = (requestID != "" ? requestID : RandomHex::instance()->generateRandomHex()); +} + +/********************************************************************************/ + +Oadr2bRequest::Oadr2bRequest(string requestType, string responseType, string venID, string responseCode, string responseDescription, string requestID) +{ + m_requestType = requestType; + m_responseType = responseType; + + m_venID = venID; + + m_responseCode = responseCode; + m_responseDescription = responseDescription; + + m_requestID = (requestID != "" ? requestID : RandomHex::instance()->generateRandomHex()); +} + +/********************************************************************************/ + +Oadr2bRequest::~Oadr2bRequest() +{ +} + +/********************************************************************************/ + +string Oadr2bRequest::serializePayload(auto_ptr payload) +{ + xml_schema::namespace_infomap map; + stringstream ss; + + map[""].name = ""; + map[""].schema = ""; + + oadrPayload_(ss, *payload, map); + + return ss.str(); +} + +/********************************************************************************/ + +void Oadr2bRequest::setHttpFields(string requestBody, string responseBody, string httpResponseCode, string httpResponseMessage) +{ + m_requestBody = requestBody; + m_responseBody = responseBody; + m_httpResponseCode = httpResponseCode; + m_httpResponseMessage = httpResponseMessage; + + if (m_httpResponseCode.compare("200") == 0 && m_responseBody.length() > 0) + { + istringstream iss(m_responseBody); + + // TODO: not currently validating the XML; need to figure out + // how to specify the location + auto_ptr response(oadrPayload_(iss, xsd::cxx::tree::flags::keep_dom | xsd::cxx::tree::flags::dont_validate)); + + m_response = response; + } +} + +/********************************************************************************/ + +string Oadr2bRequest::requestID() +{ + return m_requestID; +} + +/********************************************************************************/ + +string Oadr2bRequest::venID() +{ + return m_venID; +} + +/********************************************************************************/ + +string Oadr2bRequest::responseCode() +{ + return m_responseCode; +} + +/********************************************************************************/ + +string Oadr2bRequest::responseDescription() +{ + return m_responseDescription; +} + +/********************************************************************************/ + +string Oadr2bRequest::requestBody() +{ + return m_requestBody; +} +/********************************************************************************/ + +string Oadr2bRequest::responseBody() +{ + return m_responseBody; +} + +/********************************************************************************/ + +string Oadr2bRequest::httpResponseCode() +{ + return m_httpResponseCode; +} + +/********************************************************************************/ + +string Oadr2bRequest::httpResponseMessage() +{ + return m_httpResponseMessage; +} + +/********************************************************************************/ + +string Oadr2bRequest::generateRequestXML() +{ + m_request = generatePayload(); + + return serializePayload(m_request); +} + +/********************************************************************************/ + +oadrPayload *Oadr2bRequest::request() +{ + return m_request.get(); +} + +/********************************************************************************/ + +oadrPayload *Oadr2bRequest::response() +{ + return m_response.get(); +} diff --git a/oadr/oadr/request/Oadr2bRequest.h b/oadr/oadr/request/Oadr2bRequest.h new file mode 100644 index 0000000..5439d3f --- /dev/null +++ b/oadr/oadr/request/Oadr2bRequest.h @@ -0,0 +1,392 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef OADR2BREQUEST_H_ +#define OADR2BREQUEST_H_ + +#include + +#include "../helper/RandomHex.h" + +#include +#include + +#include + +#include + +using namespace std; +using namespace oadr2b::oadr; + +class Oadr2bRequest +{ +private: + string m_requestType; + string m_responseType; + + string m_venID; + + string m_requestID; + + string m_responseCode; + string m_responseDescription; + + string m_requestBody; + string m_responseBody; + + string m_httpResponseMessage; + string m_httpResponseCode; + + auto_ptr m_request; + auto_ptr m_response; + +protected: + + string serializePayload(auto_ptr payload); + + virtual auto_ptr generatePayload() = 0; + +public: + Oadr2bRequest(string requestType, string responseType, string requestID); + Oadr2bRequest(string requestType, string responseType, string venID, string requestID); + Oadr2bRequest(string requestType, string responseType, string venID, string responseCode, string responseDescription, string requestID); + + virtual ~Oadr2bRequest(); + + virtual string generateRequestXML(); + + void setHttpFields(string requestBody, string responseBody, string httpResponseCode, string httpResponseMessage); + + string requestID(); + string venID(); + string responseCode(); + string responseDescription(); + + string requestType(); + string responseType(); + + string responseBody(); + string requestBody(); + + string httpResponseCode(); + string httpResponseMessage(); + + oadrPayload *request(); + oadrPayload *response(); +}; + +#endif /* OADR2BREQUEST_H_ */ diff --git a/oadr/oadr/request/OadrException.cpp b/oadr/oadr/request/OadrException.cpp new file mode 100644 index 0000000..cdefd5d --- /dev/null +++ b/oadr/oadr/request/OadrException.cpp @@ -0,0 +1,339 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "OadrException.h" + +string OadrException::RID_EXISTS = "rID already added"; +string OadrException::NO_INTERVAL = "No interval for rID. Call addInterval first."; + +string OadrException::REPORT_SPEC_EXISTS = "A report exists with the given report specifier ID"; +string OadrException::REPORT_SPEC_NON_EXISTENT = "No report found with the given report specifier ID"; + + +OadrException::OadrException(string message) +{ + m_message = message; +} + +OadrException::~OadrException() throw() +{ +} + +const char* OadrException::what() const throw() +{ + return m_message.c_str(); +} diff --git a/oadr/oadr/request/OadrException.h b/oadr/oadr/request/OadrException.h new file mode 100644 index 0000000..98af349 --- /dev/null +++ b/oadr/oadr/request/OadrException.h @@ -0,0 +1,345 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef OADREXCEPTION_H_ +#define OADREXCEPTION_H_ + +#include +#include + +using namespace std; + +class OadrException : public exception +{ +private: + string m_message; + +public: + OadrException(string message); + virtual ~OadrException() throw(); + + const char* what() const throw(); + + static string RID_EXISTS; + static string NO_INTERVAL; + + static string REPORT_SPEC_EXISTS; + static string REPORT_SPEC_NON_EXISTENT; + +}; + +#endif /* OADREXCEPTION_H_ */ diff --git a/oadr/oadr/request/Poll.cpp b/oadr/oadr/request/Poll.cpp new file mode 100644 index 0000000..92db58c --- /dev/null +++ b/oadr/oadr/request/Poll.cpp @@ -0,0 +1,348 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "Poll.h" + +Poll::Poll(string venID) : + Oadr2bRequest("oadrPoll", "?", venID, ""), + m_venID(venID) +{ + +} + +/********************************************************************************/ + +Poll::~Poll() +{ +} + +/********************************************************************************/ + +auto_ptr Poll::generatePayload() +{ + oadrPollType request(venID()); + + request.schemaVersion("2.0b"); + + oadrSignedObject oso; + + oso.oadrPoll(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/Poll.h b/oadr/oadr/request/Poll.h new file mode 100644 index 0000000..f3d75bb --- /dev/null +++ b/oadr/oadr/request/Poll.h @@ -0,0 +1,339 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef POLL_H_ +#define POLL_H_ + +#include + +#include "Oadr2bRequest.h" + +class Poll: public Oadr2bRequest +{ +private: + string m_venID; + +protected: + virtual auto_ptr generatePayload(); + +public: + Poll(string venID); + + virtual ~Poll(); +}; + +#endif /* POLL_H_ */ diff --git a/oadr/oadr/request/QueryRegistration.cpp b/oadr/oadr/request/QueryRegistration.cpp new file mode 100644 index 0000000..3bd9759 --- /dev/null +++ b/oadr/oadr/request/QueryRegistration.cpp @@ -0,0 +1,346 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "QueryRegistration.h" + +QueryRegistration::QueryRegistration(string requestID) : + Oadr2bRequest("oadrQueryRegistration", "oadrCreatedPartyRegistration", requestID) +{ +} + +/********************************************************************************/ + +QueryRegistration::~QueryRegistration() +{ +} + +/********************************************************************************/ + +auto_ptr QueryRegistration::generatePayload() +{ + oadrQueryRegistrationType request(requestID()); + + request.schemaVersion("2.0b"); + + oadrSignedObject oso; + + oso.oadrQueryRegistration(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/QueryRegistration.h b/oadr/oadr/request/QueryRegistration.h new file mode 100644 index 0000000..34838ce --- /dev/null +++ b/oadr/oadr/request/QueryRegistration.h @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef QUERYREGISTRATION_H_ +#define QUERYREGISTRATION_H_ + +#include "Oadr2bRequest.h" + +#include + +class QueryRegistration: public Oadr2bRequest +{ +private: + +protected: + virtual auto_ptr generatePayload(); + +public: + QueryRegistration(string requestID = ""); + virtual ~QueryRegistration(); +}; + +#endif /* QUERYREGISTRATION_H_ */ diff --git a/oadr/oadr/request/RequestEvent.cpp b/oadr/oadr/request/RequestEvent.cpp new file mode 100644 index 0000000..49a8604 --- /dev/null +++ b/oadr/oadr/request/RequestEvent.cpp @@ -0,0 +1,353 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "RequestEvent.h" + +RequestEvent::RequestEvent(string venID, string requestID, unsigned int replyLimit) : + Oadr2bRequest("oadrRequestEvent", "oadrDistributeEvent", requestID) +{ + m_venID = venID; + m_replyLimit = replyLimit; +} + +/********************************************************************************/ + +RequestEvent::~RequestEvent() +{ +} + +/********************************************************************************/ + +auto_ptr RequestEvent::generatePayload() +{ + eiRequestEvent ei(requestID(), m_venID); + + if (m_replyLimit != 0) + ei.replyLimit(m_replyLimit); + + oadrRequestEventType request(ei); + + request.schemaVersion("2.0b"); + + oadrSignedObject oso; + + oso.oadrRequestEvent(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/RequestEvent.h b/oadr/oadr/request/RequestEvent.h new file mode 100644 index 0000000..fec6c89 --- /dev/null +++ b/oadr/oadr/request/RequestEvent.h @@ -0,0 +1,353 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REQUESTEVENT_H_ +#define REQUESTEVENT_H_ + +#include +#include + +#include "Oadr2bRequest.h" + +#include +#include + +#include + +#include + +using namespace oadr2b::oadr; +using namespace oadr2b::ei; + +using namespace payloads; + +class RequestEvent: public Oadr2bRequest +{ +private: + string m_venID; + unsigned int m_replyLimit; + string m_requestID; + +protected: + virtual auto_ptr generatePayload(); + +public: + RequestEvent(string venID, string requestID = "", unsigned int replyLimit = 0); + virtual ~RequestEvent(); +}; + +#endif /* REQUESTEVENT_H_ */ diff --git a/oadr/oadr/request/opt/CancelOptSchedule.cpp b/oadr/oadr/request/opt/CancelOptSchedule.cpp new file mode 100644 index 0000000..3d8e9e6 --- /dev/null +++ b/oadr/oadr/request/opt/CancelOptSchedule.cpp @@ -0,0 +1,348 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CancelOptSchedule.h" + +CancelOptSchedule::CancelOptSchedule(string venID, string optID, string requestID) : + Oadr2bRequest("oadrCancelOpt", "oadrCanceledOpt", venID, requestID), + m_optID(optID) +{ + +} + +/********************************************************************************/ + +CancelOptSchedule::~CancelOptSchedule() +{ +} + +/********************************************************************************/ + +auto_ptr CancelOptSchedule::generatePayload() +{ + auto_ptr co(new oadrCancelOptType(requestID(), m_optID, venID())); + + co->schemaVersion("2.0b"); + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrCancelOpt(co); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/opt/CancelOptSchedule.h b/oadr/oadr/request/opt/CancelOptSchedule.h new file mode 100644 index 0000000..53e3940 --- /dev/null +++ b/oadr/oadr/request/opt/CancelOptSchedule.h @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CANCELOPT_H_ +#define CANCELOPT_H_ + +#include +#include "../Oadr2bRequest.h" + +class CancelOptSchedule: public Oadr2bRequest +{ +private: + string m_optID; + +protected: + virtual auto_ptr generatePayload(); + +public: + CancelOptSchedule(string venID, string optID, string requestID = ""); + virtual ~CancelOptSchedule(); +}; + +#endif /* CANCELOPT_H_ */ diff --git a/oadr/oadr/request/opt/CreateOpt.cpp b/oadr/oadr/request/opt/CreateOpt.cpp new file mode 100644 index 0000000..47903ab --- /dev/null +++ b/oadr/oadr/request/opt/CreateOpt.cpp @@ -0,0 +1,354 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreateOpt.h" + +CreateOpt::CreateOpt(string venID, string optID, EiOptType::optType_type optType, + OptReasonValue optReasonValue, string requestID) : + Oadr2bRequest("oadrCreateOpt", "oadrCreatedOpt", venID, requestID), + m_optID(optID), + m_optType(optType), + m_optReasonValue(optReasonValue) +{ +} + +/********************************************************************************/ + +CreateOpt::~CreateOpt() +{ +} + +/********************************************************************************/ + +string CreateOpt::optID() +{ + return m_optID; +} + +/********************************************************************************/ + +EiOptType::optType_type CreateOpt::optType() +{ + return m_optType; +} + +/********************************************************************************/ + +OptReasonValue CreateOpt::optReasonValue() +{ + return m_optReasonValue; +} diff --git a/oadr/oadr/request/opt/CreateOpt.h b/oadr/oadr/request/opt/CreateOpt.h new file mode 100644 index 0000000..a511853 --- /dev/null +++ b/oadr/oadr/request/opt/CreateOpt.h @@ -0,0 +1,356 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEOPT_H_ +#define CREATEOPT_H_ + +#include +#include + +#include "../Oadr2bRequest.h" +#include "OptReasonValue.h" + +using namespace oadr2b::ei; + +class CreateOpt: public Oadr2bRequest +{ +private: + + /*optID_type&, + const optType_type&, + const optReason_type&, + const venID_type&, + const createdDateTime_type&, + const requestID_type&, + const eiTarget_type&);*/ + string m_optID; + EiOptType::optType_type m_optType; + // EiOptType::optReason_type m_optReason; + OptReasonValue m_optReasonValue; + +public: + CreateOpt(string venID, string optID, EiOptType::optType_type optType, + OptReasonValue optReasonValue, string requestID = ""); + + virtual ~CreateOpt(); + + string optID(); + EiOptType::optType_type optType(); + OptReasonValue optReasonValue(); +}; + +#endif /* CREATEOPT_H_ */ diff --git a/oadr/oadr/request/opt/CreateOptEvent.cpp b/oadr/oadr/request/opt/CreateOptEvent.cpp new file mode 100644 index 0000000..c1a2636 --- /dev/null +++ b/oadr/oadr/request/opt/CreateOptEvent.cpp @@ -0,0 +1,356 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreateOptEvent.h" + +CreateOptEvent::CreateOptEvent(string venID, string optID, EiOptType::optType_type optType, + OptReasonValue optReasonValue, string eventID, unsigned int modificationNumber, + string requestID) : + + CreateOpt(venID, optID, optType, optReasonValue, requestID), + m_eventID(eventID), + m_modificationNumber(modificationNumber) +{ +} + +/********************************************************************************/ + +CreateOptEvent::~CreateOptEvent() +{ +} + +/********************************************************************************/ + +auto_ptr CreateOptEvent::generatePayload() +{ + EiOptType::createdDateTime_type createdDateTime(Oadr2bHelper::nowToiCalDateTime()); + + oadrCreateOptType::eiTarget_type target; + + auto_ptr co(new oadrCreateOptType(optID(), optType(), optReasonValue().toString(), venID(), + createdDateTime, requestID(), target)); + + co->qualifiedEventID(oadrCreateOptType::qualifiedEventID_type(m_eventID, m_modificationNumber)); + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrCreateOpt(co); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/opt/CreateOptEvent.h b/oadr/oadr/request/opt/CreateOptEvent.h new file mode 100644 index 0000000..24fa6bd --- /dev/null +++ b/oadr/oadr/request/opt/CreateOptEvent.h @@ -0,0 +1,342 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEOPTEVENT_H_ +#define CREATEOPTEVENT_H_ + +#include "CreateOpt.h" + +#include "../Oadr2bHelper.h" + +class CreateOptEvent: public CreateOpt +{ +private: + string m_eventID; + unsigned int m_modificationNumber; + +protected: + virtual auto_ptr generatePayload(); + +public: + CreateOptEvent(string venID, string optID, EiOptType::optType_type optType, + OptReasonValue optReasonValue, string eventID, unsigned int modificationNumber, + string requestID); + + virtual ~CreateOptEvent(); +}; + +#endif /* CREATEOPTEVENT_H_ */ diff --git a/oadr/oadr/request/opt/CreateOptSchedule.cpp b/oadr/oadr/request/opt/CreateOptSchedule.cpp new file mode 100644 index 0000000..19fdbc4 --- /dev/null +++ b/oadr/oadr/request/opt/CreateOptSchedule.cpp @@ -0,0 +1,386 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CreateOptSchedule.h" + +CreateOptSchedule::CreateOptSchedule(string venID, OptSchedule &optSchedule, string requestID) : + CreateOpt(venID, optSchedule.optID(), optSchedule.optType(), optSchedule.optReasonValue(), requestID), + m_optSchedule(optSchedule) +{ + m_createdDateTime = 0; +} + +/********************************************************************************/ + +CreateOptSchedule::~CreateOptSchedule() +{ +} + +/********************************************************************************/ + +void CreateOptSchedule::createdDateTime(time_t createdDateTime) +{ + m_createdDateTime = createdDateTime; +} + +/********************************************************************************/ + +auto_ptr CreateOptSchedule::generatePayload() +{ + icalendar_2_0::DateTimeType icalCreatedDateTime = (m_createdDateTime == 0 ? Oadr2bHelper::nowToiCalDateTime() : Oadr2bHelper::timetToiCalDateTime(m_createdDateTime)); + EiOptType::createdDateTime_type createdDateTime(icalCreatedDateTime); + + oadrCreateOptType::eiTarget_type target; + + auto_ptr co(new oadrCreateOptType(optID(), optType(), optReasonValue().toString(), venID(), + createdDateTime, requestID(), target)); + + EiOptType::marketContext_type mc(m_optSchedule.marketContext()); + co->marketContext(mc); + + co->schemaVersion("2.0b"); + + co->vavailability(m_optSchedule.optScheduleToVavail()); + + if (m_optSchedule.resourceID() != "") + { + EiTargetType eitt; + + EiTargetType::resourceID_sequence rid_seq; + + rid_seq.push_back(m_optSchedule.resourceID()); + + eitt.resourceID(rid_seq); + + co->eiTarget(eitt); + } + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrCreateOpt(co); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} + +/********************************************************************************/ + +OptSchedule &CreateOptSchedule::optSchedule() +{ + return m_optSchedule; +} diff --git a/oadr/oadr/request/opt/CreateOptSchedule.h b/oadr/oadr/request/opt/CreateOptSchedule.h new file mode 100644 index 0000000..b974869 --- /dev/null +++ b/oadr/oadr/request/opt/CreateOptSchedule.h @@ -0,0 +1,346 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CREATEOPTSCHEDULE_H_ +#define CREATEOPTSCHEDULE_H_ + +#include "CreateOpt.h" +#include "OptSchedule.h" + +#include "../Oadr2bHelper.h" + +class CreateOptSchedule: public CreateOpt +{ +private: + OptSchedule m_optSchedule; + + time_t m_createdDateTime; + +protected: + virtual auto_ptr generatePayload(); + +public: + CreateOptSchedule(string venID, OptSchedule &optSchedule, string requestID); + + void createdDateTime(time_t createdDateTime); + + virtual ~CreateOptSchedule(); + + OptSchedule &optSchedule(); +}; + +#endif /* CREATEOPTSCHEDULE_H_ */ diff --git a/oadr/oadr/request/opt/OptReasonValue.cpp b/oadr/oadr/request/opt/OptReasonValue.cpp new file mode 100644 index 0000000..6e0e33d --- /dev/null +++ b/oadr/oadr/request/opt/OptReasonValue.cpp @@ -0,0 +1,345 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "OptReasonValue.h" + +OptReasonValue::OptReasonValue(OptReasonEnumeratedType::value val) : + OptReasonEnumeratedType(val) +{ + m_value = _xsd_OptReasonEnumeratedType_literals_[val]; +} + +/********************************************************************************/ + +OptReasonValue::OptReasonValue(std::string val) : + OptReasonEnumeratedType(val) +{ + m_value = val; +} + +/********************************************************************************/ + +OptReasonValue::~OptReasonValue() +{ +} + +/********************************************************************************/ + +std::string OptReasonValue::toString() +{ + return m_value; +} diff --git a/oadr/oadr/request/opt/OptReasonValue.h b/oadr/oadr/request/opt/OptReasonValue.h new file mode 100644 index 0000000..441e44d --- /dev/null +++ b/oadr/oadr/request/opt/OptReasonValue.h @@ -0,0 +1,341 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef OPTREASONENUMERATEDTYPEVALUE_H_ +#define OPTREASONENUMERATEDTYPEVALUE_H_ + +#include + +#include + +using namespace oadr2b::ei; + +class OptReasonValue: public oadr2b::ei::OptReasonEnumeratedType +{ +private: + std::string m_value; + +public: + OptReasonValue(OptReasonEnumeratedType::value val); + OptReasonValue(std::string val); + + virtual ~OptReasonValue(); + + std::string toString(); +}; + +#endif /* OPTREASONENUMERATEDTYPEVALUE_H_ */ diff --git a/oadr/oadr/request/opt/OptSchedule.cpp b/oadr/oadr/request/opt/OptSchedule.cpp new file mode 100644 index 0000000..559e7c4 --- /dev/null +++ b/oadr/oadr/request/opt/OptSchedule.cpp @@ -0,0 +1,443 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "OptSchedule.h" + +OptSchedule::OptSchedule(EiOptType::optType_type optType, OptReasonValue optReasonValue, string marketContext, string resourceID, string optID) : + m_optType(optType), + m_optReasonValue(optReasonValue), + m_marketContext(marketContext), + m_resourceID(resourceID) +{ + m_optID = (optID != "" ? optID : RandomHex::instance()->generateRandomHex()); +} + +/********************************************************************************/ + +OptSchedule::~OptSchedule() +{ +} + +/********************************************************************************/ + +void OptSchedule::addAvailable(int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, + double seconds, int duration, DurationModifier *durationModifier) +{ + tavailable available; + + available.year = year; + available.month = month; + available.day = day; + available.hours = hours; + available.minutes = minutes; + available.seconds = seconds; + + available.duration = duration; + available.durationModifier = durationModifier; + + m_vavailability.push_back(available); +} + +/********************************************************************************/ + +void OptSchedule::addAvailable(time_t dtstart, int duration, DurationModifier *durationModifier) +{ + tm tm_utc; + + gmtime_r(&dtstart, &tm_utc); + + addAvailable(tm_utc.tm_year + 1900, tm_utc.tm_mon + 1, tm_utc.tm_mday, tm_utc.tm_hour, tm_utc.tm_min, + tm_utc.tm_sec, duration, durationModifier); +} + +/********************************************************************************/ + +void OptSchedule::addAvailable(tm dtstartUTC, int duration, DurationModifier *durationModifier) +{ + addAvailable(dtstartUTC.tm_year + 1900, dtstartUTC.tm_mon + 1, dtstartUTC.tm_mday, dtstartUTC.tm_hour, dtstartUTC.tm_min, + dtstartUTC.tm_sec, duration, durationModifier); +} + +/********************************************************************************/ + +VavailabilityType OptSchedule::optScheduleToVavail() +{ + + VavailabilityType::components_type components; + + ArrayOfVavailabilityContainedComponents::available_sequence asequence; + + vector::iterator itr; + + for (itr = m_vavailability.begin(); itr != m_vavailability.end(); itr++) + { + AvailableType::properties_type properties((*itr).get_dtstart(), (*itr).get_duration()); + + ArrayOfVavailabilityContainedComponents::available_type available(properties); + + asequence.push_back(available); + } + + components.available(asequence); + + VavailabilityType vavail(components); + + return vavail; +} + +/********************************************************************************/ + +string OptSchedule::optID() +{ + return m_optID; +} + +/********************************************************************************/ + +string OptSchedule::marketContext() +{ + return m_marketContext; +} + +/********************************************************************************/ + +EiOptType::optType_type OptSchedule::optType() +{ + return m_optType; +} + +/********************************************************************************/ + +OptReasonValue OptSchedule::optReasonValue() +{ + return m_optReasonValue; +} + +/********************************************************************************/ + +string OptSchedule::resourceID() +{ + return m_resourceID; +} + +/********************************************************************************/ + +void OptSchedule::clear() +{ + m_vavailability.clear(); +} diff --git a/oadr/oadr/request/opt/OptSchedule.h b/oadr/oadr/request/opt/OptSchedule.h new file mode 100644 index 0000000..6bf9bc6 --- /dev/null +++ b/oadr/oadr/request/opt/OptSchedule.h @@ -0,0 +1,416 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef OPTSCHEDULE_H_ +#define OPTSCHEDULE_H_ + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include + +#include "OptReasonValue.h" +#include "../DurationModifier.h" + +#include "../../helper/RandomHex.h" + +using namespace icalendar_2_0; +using namespace std; +using namespace oadr2b::ei; + +struct tavailable +{ + int year; + unsigned short month; + unsigned short day; + unsigned short hours; + unsigned short minutes; + double seconds; + + unsigned int duration; + + DurationModifier *durationModifier; + + properties::dtstart_type get_dtstart() + { + properties::dtstart_type dtstart(icalendar_2_0::DateTimeType(::xml_schema::date_time(year, month, day, hours, minutes, seconds, 0, 0))); + + return dtstart; + } + + properties::duration_type get_duration() + { + stringstream durationString; + + durationString << "PT" << duration << durationModifier->value(); + + properties::duration_type duration(DurationPropType::duration_type(durationString.str())); + + return duration; + } +}; + +class OptSchedule +{ +private: + vector m_vavailability; + + EiOptType::optType_type m_optType; + OptReasonValue m_optReasonValue; + + string m_marketContext; + + string m_optID; + + string m_resourceID; + +public: + OptSchedule(EiOptType::optType_type optType, OptReasonValue optReasonValue, string marketContext, string resourceID = "", string optID = ""); + + virtual ~OptSchedule(); + + void addAvailable(int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, + double seconds, int duration, DurationModifier *durationModifier); + + void addAvailable(time_t dtstart, int duration, DurationModifier *durationModifier); + void addAvailable(tm dtstartUTC, int duraiton, DurationModifier *durationModifier); + + VavailabilityType optScheduleToVavail(); + + string optID(); + EiOptType::optType_type optType(); + OptReasonValue optReasonValue(); + string marketContext(); + string resourceID(); + + void clear(); +}; + +#endif /* OPTSCHEDULE_H_ */ diff --git a/oadr/oadr/request/report/DataQualityTypeValue.cpp b/oadr/oadr/request/report/DataQualityTypeValue.cpp new file mode 100644 index 0000000..d5360ef --- /dev/null +++ b/oadr/oadr/request/report/DataQualityTypeValue.cpp @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "DataQualityTypeValue.h" + +DataQualityTypeValue::DataQualityTypeValue(oadrDataQualityType::value val) : + oadrDataQualityType(val) +{ + m_value = _xsd_oadrDataQualityType_literals_[val]; +} + +/********************************************************************************/ + +DataQualityTypeValue::~DataQualityTypeValue() +{ +} + +/********************************************************************************/ + +std::string DataQualityTypeValue::toString() +{ + return m_value; +} diff --git a/oadr/oadr/request/report/DataQualityTypeValue.h b/oadr/oadr/request/report/DataQualityTypeValue.h new file mode 100644 index 0000000..e047dd0 --- /dev/null +++ b/oadr/oadr/request/report/DataQualityTypeValue.h @@ -0,0 +1,340 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef DATAQUALITYTYPEVALUE_H_ +#define DATAQUALITYTYPEVALUE_H_ + +#include +#include + +#include + +using namespace oadr2b::oadr; + +class DataQualityTypeValue : public oadrDataQualityType +{ +private: + std::string m_value; + +public: + DataQualityTypeValue(oadrDataQualityType::value val); + virtual ~DataQualityTypeValue(); + + std::string toString(); +}; + +#endif /* DATAQUALITYTYPEVALUE_H_ */ diff --git a/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.cpp b/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.cpp new file mode 100644 index 0000000..b20caa5 --- /dev/null +++ b/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.cpp @@ -0,0 +1,338 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReadingTypeEnumeratedTypeValue.h" + +ReadingTypeEnumeratedTypeValue::ReadingTypeEnumeratedTypeValue(ReadingTypeEnumeratedType::value val) : + ReadingTypeEnumeratedType(val) +{ + + m_value = _xsd_ReadingTypeEnumeratedType_literals_[val]; +} + +/********************************************************************************/ + +ReadingTypeEnumeratedTypeValue::~ReadingTypeEnumeratedTypeValue() +{ +} + +/********************************************************************************/ + +std::string ReadingTypeEnumeratedTypeValue::toString() +{ + return m_value; +} diff --git a/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.h b/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.h new file mode 100644 index 0000000..3ba0005 --- /dev/null +++ b/oadr/oadr/request/report/ReadingTypeEnumeratedTypeValue.h @@ -0,0 +1,339 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef READINGTYPEENUMERATEDTYPEVALUE_H_ +#define READINGTYPEENUMERATEDTYPEVALUE_H_ + +#include +#include +#include + +using namespace oadr2b::ei; + +class ReadingTypeEnumeratedTypeValue : public ReadingTypeEnumeratedType +{ +private: + std::string m_value; + +public: + ReadingTypeEnumeratedTypeValue(ReadingTypeEnumeratedType::value val); + virtual ~ReadingTypeEnumeratedTypeValue(); + + std::string toString(); +}; + +#endif /* READINGTYPEENUMERATEDTYPEVALUE_H_ */ diff --git a/oadr/oadr/request/report/RegisterReport.cpp b/oadr/oadr/request/report/RegisterReport.cpp new file mode 100644 index 0000000..9d37691 --- /dev/null +++ b/oadr/oadr/request/report/RegisterReport.cpp @@ -0,0 +1,351 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "RegisterReport.h" + +RegisterReport::RegisterReport(string venID, string requestID, oadrRegisterReportType::oadrReport_sequence sequence) : + Oadr2bRequest("oadrRegisterReport", "oadrRegisteredReport", venID, requestID), + m_sequence(sequence) +{ +} + +/********************************************************************************/ + +RegisterReport::~RegisterReport() +{ +} + +/********************************************************************************/ + +auto_ptr RegisterReport::generatePayload() +{ + auto_ptr request(new oadrRegisterReportType(requestID())); + + request->schemaVersion("2.0b"); + + request->venID(venID()); + + request->oadrReport(m_sequence); + + auto_ptr oso(new oadrSignedObject()); + + oso->oadrRegisterReport(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/report/RegisterReport.h b/oadr/oadr/request/report/RegisterReport.h new file mode 100644 index 0000000..aa51bf0 --- /dev/null +++ b/oadr/oadr/request/report/RegisterReport.h @@ -0,0 +1,344 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REGISTERREPORT_H_ +#define REGISTERREPORT_H_ + +#include + +#include + +#include "../Oadr2bRequest.h" + +#include "ReportWrapperList.h" + +#include + +class RegisterReport: public Oadr2bRequest +{ +private: + oadrUpdateReportType::oadrReport_sequence m_sequence; + +protected: + auto_ptr generatePayload(); + +public: + RegisterReport(string venID, string requestID, oadrRegisterReportType::oadrReport_sequence sequence); + virtual ~RegisterReport(); +}; + +#endif /* REGISTERREPORT_H_ */ diff --git a/oadr/oadr/request/report/RegisteredReport.cpp b/oadr/oadr/request/report/RegisteredReport.cpp new file mode 100644 index 0000000..0a13a03 --- /dev/null +++ b/oadr/oadr/request/report/RegisteredReport.cpp @@ -0,0 +1,353 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "RegisteredReport.h" + +RegisteredReport::RegisteredReport(string venID, string requestID, string responseCode, string responseDescription) : + Oadr2bRequest("oadrCreatedReport", "oadrResponse", venID, responseCode, responseDescription, requestID) +{ +} + +/********************************************************************************/ + +RegisteredReport::~RegisteredReport() +{ +} + +/********************************************************************************/ + +auto_ptr RegisteredReport::generatePayload() +{ + oadrRegisteredReportType::eiResponse_type eir(responseCode(), requestID()); + + if (responseDescription() != "") + eir.responseDescription(responseDescription()); + + oadrRegisteredReportType request(eir); + + request.schemaVersion("2.0b"); + + request.venID(venID()); + + oadrSignedObject oso; + + oso.oadrRegisteredReport(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/report/RegisteredReport.h b/oadr/oadr/request/report/RegisteredReport.h new file mode 100644 index 0000000..a374c85 --- /dev/null +++ b/oadr/oadr/request/report/RegisteredReport.h @@ -0,0 +1,342 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REGISTEREDREPORT_H_ +#define REGISTEREDREPORT_H_ + +#include "../Oadr2bRequest.h" + +#include + +/* + * + */ +class RegisteredReport: public Oadr2bRequest +{ +private: + +protected: + virtual auto_ptr generatePayload(); + +public: + // TODO: change oadrReportRequestType to oadrReportRequestType_sequence + RegisteredReport(string venID, string requestID, string responseCode, string responseDescription); + + virtual ~RegisteredReport(); +}; + +#endif /* REGISTEREDREPORT_H_ */ diff --git a/oadr/oadr/request/report/ReportEnumeratedTypeValue.cpp b/oadr/oadr/request/report/ReportEnumeratedTypeValue.cpp new file mode 100644 index 0000000..2a232e9 --- /dev/null +++ b/oadr/oadr/request/report/ReportEnumeratedTypeValue.cpp @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReportEnumeratedTypeValue.h" + +ReportEnumeratedTypeValue::ReportEnumeratedTypeValue(ReportEnumeratedType::value val) : + ReportEnumeratedType(val) +{ + m_value = _xsd_ReportEnumeratedType_literals_[val]; +} + +/********************************************************************************/ + +ReportEnumeratedTypeValue::~ReportEnumeratedTypeValue() +{ +} + +/********************************************************************************/ + +std::string ReportEnumeratedTypeValue::toString() +{ + return m_value; +} diff --git a/oadr/oadr/request/report/ReportEnumeratedTypeValue.h b/oadr/oadr/request/report/ReportEnumeratedTypeValue.h new file mode 100644 index 0000000..e9591a9 --- /dev/null +++ b/oadr/oadr/request/report/ReportEnumeratedTypeValue.h @@ -0,0 +1,340 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REPORTENUMERATEDTYPEVALUE_H_ +#define REPORTENUMERATEDTYPEVALUE_H_ + +#include +#include + +using namespace oadr2b::ei; +using namespace std; + +class ReportEnumeratedTypeValue : public ReportEnumeratedType +{ +private: + string m_value; + +public: + ReportEnumeratedTypeValue(ReportEnumeratedType::value val); + + virtual ~ReportEnumeratedTypeValue(); + + std::string toString(); +}; + +#endif /* REPORTENUMERATEDTYPEVALUE_H_ */ diff --git a/oadr/oadr/request/report/ReportHelper.cpp b/oadr/oadr/request/report/ReportHelper.cpp new file mode 100644 index 0000000..de3cf83 --- /dev/null +++ b/oadr/oadr/request/report/ReportHelper.cpp @@ -0,0 +1,553 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReportHelper.h" + +ReportHelper::ReportHelper() +{ + +} + +ReportHelper::~ReportHelper() +{ +} + +oadrReportDescriptionType ReportHelper::generateDescription(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + auto_ptr *measuredValue) +{ + + oadrReportDescriptionType reportDescription(rID, ReportEnumeratedType(reportType), ReadingTypeEnumeratedType(readingType)); + + oadrReportDescriptionType::marketContext_type mc(marketContext); + + reportDescription.marketContext(mc); + + if (resourceID != "") + { + EiTargetType eitt; + + EiTargetType::resourceID_sequence rid_seq; + + rid_seq.push_back(resourceID); + + eitt.resourceID(rid_seq); + + reportDescription.reportDataSource(eitt); + } + + oadrSamplingRateType samplingRate(Oadr2bHelper::generateDurationValueType(minSamplingPeriod, durationModifier), + Oadr2bHelper::generateDurationValueType(maxSamplingPeriod, durationModifier), + onChange); + + reportDescription.oadrSamplingRate(samplingRate); + + if (measuredValue != NULL) + reportDescription.itemBase(*measuredValue); + + return reportDescription; +} + +/********************************************************************************/ + +oadrReportDescriptionType ReportHelper::generateDescriptionResourceStatus(string rID, string resourceID, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier) +{ + + return generateDescription(rID, resourceID, ReportEnumeratedType::x_resourceStatus, ReadingTypeEnumeratedType::x_notApplicable, marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, durationModifier); +} + +/********************************************************************************/ + +oadrReportDescriptionType ReportHelper::generateDescriptionEnergyItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, int minSamplingPeriod, + int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, eEnergyItemType energyItemType, + string units, SiScaleCodeType::value siScaleCodeType, string description) +{ + auto_ptr base; + + EnergyItemType *measuredValue; + + switch (energyItemType) + { + case eEnergyApparent: + measuredValue = new EnergyApparentType(description, units, siScaleCodeType); + break; + + case eEnergyReactive: + measuredValue = new EnergyReactiveType(description, units, siScaleCodeType); + break; + + case eEnergyReal: + measuredValue = new EnergyRealType(description, units, siScaleCodeType); + break; + + default: + measuredValue = new EnergyApparentType(description, units, siScaleCodeType); + break; + } + + base = auto_ptr(measuredValue); + + return generateDescription(rID, resourceID, reportType, readingType, marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, + durationModifier, &base); +} + +/********************************************************************************/ + +oadrReportDescriptionType ReportHelper::generateDescriptionPowerItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + ePowerItemType powerItemType, string units, SiScaleCodeType::value siScaleCodeType, double hertz, + double voltage, bool ac, string description) +{ + auto_ptr base; + + PowerItemType *measuredValue; + + PowerApparentType::powerAttributes_type attributes(hertz, voltage, ac); + + switch (powerItemType) + { + case ePowerApparent: + measuredValue = new PowerApparentType(description, units, siScaleCodeType, attributes); + break; + + case ePowerReactive: + measuredValue = new PowerReactiveType(description, units, siScaleCodeType, attributes); + break; + + case ePowerReal: + measuredValue = new PowerRealType(description, units, siScaleCodeType, attributes); + break; + + default: + measuredValue = new PowerApparentType(description, units, siScaleCodeType, attributes); + break; + } + + base = auto_ptr(measuredValue); + + return generateDescription(rID, resourceID, reportType, readingType, marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, + durationModifier, &base); +} + +/********************************************************************************/ + +IntervalType ReportHelper::generateInterval(string rID, time_t dtstart, int duration, DurationModifier *durationModifier) +{ + IntervalType intervalType; + + // here's how to set the UID; field isn't required + // int uid + // stringstream s; + // s << uid; + // intervalType->uid(icalendar_2_0::uid(s.str())); + + intervalType.dtstart(Oadr2bHelper::timetTo_dtstart(dtstart)); + intervalType.duration(Oadr2bHelper::generateDurationPropType(duration, durationModifier)); + + return intervalType; +} + +/********************************************************************************/ + +oadrReportPayloadType ReportHelper::generateOadrReportPayloadFloat(string rID, float value, oadrDataQualityType::value dataQuality, unsigned int confidence, unsigned int accuracy) +{ + auto_ptr payload(new PayloadFloatType(value)); + + auto_ptr rID_ptr(new ReportPayloadType::rID_type(rID)); + + oadrReportPayloadType reportPayload(rID_ptr, payload); + + reportPayload.confidence(confidence); + + reportPayload.accuracy(accuracy); + + reportPayload.oadrDataQuality(oadrDataQualityType(dataQuality)); + + return reportPayload; +} + +/********************************************************************************/ + +oadrReportPayloadType ReportHelper::generateOadrReportPayloadResourceStatus(string rID, bool online, bool manualOverride, oadrDataQualityType::value dataQuality, unsigned int confidence, unsigned int accuracy) +{ + auto_ptr payload(new oadrPayloadResourceStatusType(online, manualOverride)); + + // add blank load control values for now; these values will need to be exposed at some point + // or pass the loadControl object to this function + payload->oadrLoadControlState(Oadr2bHelper::generateEmptyLoadControlState()); + + // everything below should be moved to addReportPayload + auto_ptr payloadBase(payload); + + auto_ptr rID_ptr(new ReportPayloadType::rID_type(rID)); + + oadrReportPayloadType reportPayload(rID_ptr, payloadBase); + + reportPayload.confidence(confidence); + reportPayload.accuracy(accuracy); + + reportPayload.oadrDataQuality(oadrDataQualityType(dataQuality)); + + return reportPayload; +} + +/********************************************************************************/ + +oadrReportType ReportHelper::generateReportDescription(ReportName *reportName, int duration, DurationModifier *durationModifier, + string reportSpecifierID, time_t createDateTimeUTC, oadrReportType::oadrReportDescription_sequence sequence) +{ + if (createDateTimeUTC == 0) + createDateTimeUTC = time(NULL); + + oadrReportType reportType("0", reportSpecifierID, Oadr2bHelper::timetToiCalDateTime(createDateTimeUTC)); + + reportType.duration(Oadr2bHelper::generateDurationPropType(duration, durationModifier)); + + reportType.reportName(reportName->metaDataName()); + + reportType.oadrReportDescription(sequence); + + return reportType; + +} + +/********************************************************************************/ + +oadrReportType ReportHelper::generateReport(ReportName *reportName, int duration, DurationModifier *durationModifier, + string reportSpecifierID, string reportRequestID, time_t dtstartUTC, time_t createdDateTimeUTC, intervals::interval_sequence sequence) +{ + oadrReportType reportType(reportRequestID, reportSpecifierID, Oadr2bHelper::timetToiCalDateTime(dtstartUTC)); + + if (createdDateTimeUTC == 0) + createdDateTimeUTC = time(NULL); + + reportType.createdDateTime(Oadr2bHelper::timetToiCalDateTime(createdDateTimeUTC)); + + reportType.reportName(reportName->name()); + + stream::intervals i; + + i.interval(sequence); + + reportType.intervals(i); + + return reportType; +} diff --git a/oadr/oadr/request/report/ReportHelper.h b/oadr/oadr/request/report/ReportHelper.h new file mode 100644 index 0000000..ab127ca --- /dev/null +++ b/oadr/oadr/request/report/ReportHelper.h @@ -0,0 +1,446 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REPORTHELPER_H_ +#define REPORTHELPER_H_ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include + +#include +#include +#include +#include + +#include "../DurationModifier.h" +#include "../Oadr2bHelper.h" + +#include +#include +#include + +#include "../Oadr2bHelper.h" + +#include "ReportName.h" +#include "../DurationModifier.h" + +#include "../../helper/RandomHex.h" + +#include "../OadrException.h" + +using namespace std; +using namespace oadr2b::oadr; +using namespace oadr2b::ei; +using namespace power; +using namespace siscale; +using namespace stream; + + +class ReportHelper { + ReportHelper(); + + static oadrReportDescriptionType generateDescription(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + auto_ptr *measuredValue = NULL); + +public: + + enum eEnergyItemType + { + eEnergyApparent, + eEnergyReactive, + eEnergyReal + }; + + enum ePowerItemType + { + ePowerApparent, + ePowerReactive, + ePowerReal + }; + + virtual ~ReportHelper(); + + static oadrReportDescriptionType generateDescriptionResourceStatus(string rID, string resourceID, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier); + + + static oadrReportDescriptionType generateDescriptionEnergyItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, int minSamplingPeriod, + int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, eEnergyItemType energyItemType, + string units, SiScaleCodeType::value siScaleCodeType, string description = ""); + + static oadrReportDescriptionType generateDescriptionPowerItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + ePowerItemType powerItemType, string units, SiScaleCodeType::value siScaleCodeType, double hertz, + double voltage, bool ac, string description = ""); + + static IntervalType generateInterval(string rID, time_t dtstart, int duration, DurationModifier *durationModifier); + + static oadrReportPayloadType generateOadrReportPayloadFloat(string rID, float value, oadrDataQualityType::value dataQuality = oadrDataQualityType::Quality_Good___Non_Specific, unsigned int confidence = 100, unsigned int accuracy = 100); + + static oadrReportPayloadType generateOadrReportPayloadResourceStatus(string rID, bool online, bool manualOverride, oadrDataQualityType::value dataQuality = oadrDataQualityType::Quality_Good___Non_Specific, unsigned int confidence = 100, unsigned int accuracy = 100); + + static oadrReportType generateReportDescription(ReportName *reportName, int duration, DurationModifier *durationModifier, + string reportSpecifierID, time_t createDateTimeUTC, oadrReportType::oadrReportDescription_sequence sequence); + + static oadrReportType generateReport(ReportName *reportName, int duration, DurationModifier *durationModifier, + string reportSpecifierID, string reportRequestID, time_t dtstartUTC, time_t createDateTimeUTC, intervals::interval_sequence sequence); +}; + +#endif /* REPORTHELPER_H_ */ diff --git a/oadr/oadr/request/report/ReportName.cpp b/oadr/oadr/request/report/ReportName.cpp new file mode 100644 index 0000000..9195d68 --- /dev/null +++ b/oadr/oadr/request/report/ReportName.cpp @@ -0,0 +1,350 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReportName.h" + +ReportName *ReportName::HISTORY_USAGE = new ReportName("HISTORY_USAGE"); +ReportName *ReportName::HISTORY_GREENBUTTON = new ReportName("HISTORY_GREENBUTTON"); +ReportName *ReportName::TELEMETRY_USAGE = new ReportName("TELEMETRY_USAGE"); +ReportName *ReportName::TELEMETRY_STATUS = new ReportName("TELEMETRY_STATUS"); + +/********************************************************************************/ + +ReportName::ReportName(string name) : + m_name(name) +{ +} + +/********************************************************************************/ + +ReportName::~ReportName() +{ +} + +/********************************************************************************/ + +string ReportName::name() +{ + return m_name; +} + +/********************************************************************************/ + +string ReportName::metaDataName() +{ + return "METADATA_" + m_name; +} diff --git a/oadr/oadr/request/report/ReportName.h b/oadr/oadr/request/report/ReportName.h new file mode 100644 index 0000000..e2af3b4 --- /dev/null +++ b/oadr/oadr/request/report/ReportName.h @@ -0,0 +1,343 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REPORTNAME_H_ +#define REPORTNAME_H_ + +#include + +using namespace std; + +class ReportName +{ +private: + string m_name; + +public: + ReportName(string name); + virtual ~ReportName(); + + string name(); + string metaDataName(); + + static ReportName *HISTORY_USAGE; + static ReportName *HISTORY_GREENBUTTON; + static ReportName *TELEMETRY_USAGE; + static ReportName *TELEMETRY_STATUS; +}; + +#endif /* REPORTNAME_H_ */ diff --git a/oadr/oadr/request/report/ReportWrapper.cpp b/oadr/oadr/request/report/ReportWrapper.cpp new file mode 100644 index 0000000..90a9746 --- /dev/null +++ b/oadr/oadr/request/report/ReportWrapper.cpp @@ -0,0 +1,648 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReportWrapper.h" + +/********************************************************************************/ + +ReportWrapper::ReportWrapper(ReportName *reportName, int duration, DurationModifier *durationModifier, string reportSpecifierID, time_t createDateTime) : + m_reportName(reportName), + m_duration(duration), + m_durationModifier(durationModifier), + m_createDateTime(createDateTime) +{ + + m_reportSpecifierID = (reportSpecifierID != "" ? reportSpecifierID : RandomHex::instance()->generateRandomHex()); +} + +/********************************************************************************/ + +ReportWrapper::~ReportWrapper() +{ + while (m_reportDescriptions.size() > 0) + { + oadrReportDescriptionType *reportDescription = m_reportDescriptions.begin()->second; + m_reportDescriptions.erase(reportDescription->rID()); + + delete (reportDescription); + } +} + +/********************************************************************************/ + +string ReportWrapper::reportSpecifierID() +{ + return m_reportSpecifierID; +} + +/********************************************************************************/ + +void ReportWrapper::addDescription(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + auto_ptr measuredValue) +{ + string reportTypeString = ReportEnumeratedTypeValue(reportType).toString(); + string readingTypeString = ReadingTypeEnumeratedTypeValue(readingType).toString(); + + oadrReportDescriptionType *reportDescription = new oadrReportDescriptionType(rID, reportTypeString, readingTypeString); + + oadrReportDescriptionType::marketContext_type mc(marketContext); + reportDescription->marketContext(mc); + + if (resourceID != "") + { + EiTargetType eitt; + + EiTargetType::resourceID_sequence rid_seq; + + rid_seq.push_back(resourceID); + + eitt.resourceID(rid_seq); + + reportDescription->reportDataSource(eitt); + } + + oadrSamplingRateType samplingRate(Oadr2bHelper::generateDurationValueType(minSamplingPeriod, durationModifier), + Oadr2bHelper::generateDurationValueType(maxSamplingPeriod, durationModifier), + onChange); + + reportDescription->oadrSamplingRate(samplingRate); + + reportDescription->itemBase(measuredValue); + + m_reportDescriptions[rID] = reportDescription; +} + +/********************************************************************************/ + +void ReportWrapper::addDescriptionResourceStatus(string rID, string resourceID, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier) +{ + auto_ptr i; + + addDescription(rID, resourceID, ReportEnumeratedType::x_resourceStatus, ReadingTypeEnumeratedType::x_notApplicable, + marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, durationModifier, i); +} + +/********************************************************************************/ + +void ReportWrapper::addDescriptionEnergyItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, int minSamplingPeriod, + int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, eEnergyItemType energyItemType, + string units, SiScaleCodeType::value siScaleCodeType, string description) +{ + auto_ptr base; + + EnergyItemType *measuredValue; + + switch (energyItemType) + { + case eEnergyApparent: + measuredValue = new EnergyApparentType(description, units, siScaleCodeType); + break; + + case eEnergyReactive: + measuredValue = new EnergyReactiveType(description, units, siScaleCodeType); + break; + + case eEnergyReal: + measuredValue = new EnergyRealType(description, units, siScaleCodeType); + break; + + default: + measuredValue = new EnergyApparentType(description, units, siScaleCodeType); + break; + } + + base = auto_ptr(measuredValue); + + addDescription(rID, resourceID, reportType, readingType, marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, + durationModifier, base); +} + +/********************************************************************************/ + +void ReportWrapper::addDescriptionPowerItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + ePowerItemType powerItemType, string units, SiScaleCodeType::value siScaleCodeType, double hertz, + double voltage, bool ac, string description) +{ + auto_ptr base; + + PowerItemType *measuredValue; + + PowerApparentType::powerAttributes_type attributes(hertz, voltage, ac); + + switch (powerItemType) + { + case ePowerApparent: + measuredValue = new PowerApparentType(description, units, siScaleCodeType, attributes); + break; + + case ePowerReactive: + measuredValue = new PowerReactiveType(description, units, siScaleCodeType, attributes); + break; + + case ePowerReal: + measuredValue = new PowerRealType(description, units, siScaleCodeType, attributes); + break; + + default: + measuredValue = new PowerApparentType(description, units, siScaleCodeType, attributes); + break; + } + + base = auto_ptr(measuredValue); + + addDescription(rID, resourceID, reportType, readingType, marketContext, minSamplingPeriod, maxSamplingPeriod, onChange, + durationModifier, base); +} + +/********************************************************************************/ + +auto_ptr ReportWrapper::generateReportDescription() +{ + if (m_createDateTime == 0) + m_createDateTime = time(NULL); + + auto_ptr reportType(new oadrReportType("0", m_reportSpecifierID, Oadr2bHelper::timetToiCalDateTime(m_createDateTime))); + + reportType->duration(Oadr2bHelper::generateDurationPropType(m_duration, m_durationModifier)); + + reportType->reportName(m_reportName->metaDataName()); + + oadrReportType::oadrReportDescription_sequence sequence; + + map::iterator itr; + + for (itr = m_reportDescriptions.begin(); itr != m_reportDescriptions.end(); itr++) + { + sequence.push_back(*(itr->second)); + } + + reportType->oadrReportDescription(sequence); + + return reportType; +} + +/********************************************************************************/ + +void ReportWrapper::addInterval(string rID, time_t dtstart, int duration, DurationModifier *durationModifier) +{ + if (m_rIDtoUID.find(rID) != m_rIDtoUID.end()) + { + OadrException exception(OadrException::RID_EXISTS); + throw exception; + } + + int uid = m_rIDtoUID.size(); + m_rIDtoUID[rID] = uid; + + auto_ptr intervalType(new IntervalType()); + + stringstream s; + + s << uid; + + intervalType->uid(icalendar_2_0::uid(s.str())); + intervalType->dtstart(Oadr2bHelper::timetTo_dtstart(dtstart)); + intervalType->duration(Oadr2bHelper::generateDurationPropType(duration, durationModifier)); + + m_intervals.push_back(intervalType); +} + +/********************************************************************************/ + +void ReportWrapper::addReportPayload(string rID, oadrReportPayloadType &reportPayload) +{ + if (m_rIDtoUID.find(rID) == m_rIDtoUID.end()) + { + OadrException exception(OadrException::NO_INTERVAL); + throw exception; + } + + int uid = m_rIDtoUID[rID]; + + if (m_uIDtoReportPayload.find(uid) == m_uIDtoReportPayload.end()) + { + m_uIDtoReportPayload[uid] = vector(); + } + + m_uIDtoReportPayload[uid].push_back(reportPayload); +} + +/********************************************************************************/ + +void ReportWrapper::addOadrReportPayloadFloat(string rID, float value, oadrDataQualityType::value dataQuality, unsigned int confidence, unsigned int accuracy) +{ + auto_ptr payload(new PayloadFloatType(value)); + + auto_ptr rID_ptr(new ReportPayloadType::rID_type(rID)); + + oadrReportPayloadType reportPayload(rID_ptr, payload); + + reportPayload.confidence(confidence); + reportPayload.accuracy(accuracy); + + // TODO: does this need to be changed to oadrDataQualityTypeType + // if it doesn't, there's on need for the "Value" classes I've been creating + reportPayload.oadrDataQuality(oadrDataQualityType(dataQuality)); + + addReportPayload(rID, reportPayload); +} + +/********************************************************************************/ + +void ReportWrapper::addOadrReportPayloadResourceStatus(string rID, bool online, bool manualOverride, oadrDataQualityType::value dataQuality, unsigned int confidence, unsigned int accuracy) +{ + // TODO: refactor: move common code between this func and the previous to addReportPayload() + // add auto_ptr to func + auto_ptr payload(new oadrPayloadResourceStatusType(online, manualOverride)); + + // add blank load control values for now; these values will need to be exposed at some point + // or pass the loadControl object to this function + payload->oadrLoadControlState(Oadr2bHelper::generateEmptyLoadControlState()); + + // everything below should be moved to addReportPayload + auto_ptr payloadBase(payload); + + auto_ptr rID_ptr(new ReportPayloadType::rID_type(rID)); + + oadrReportPayloadType reportPayload(rID_ptr, payloadBase); + + reportPayload.confidence(confidence); + reportPayload.accuracy(accuracy); + + // TODO: does this need to be changed to oadrDataQualityTypeType + // if it doesn't, there's on need for the "Value" classes I've been creating + reportPayload.oadrDataQuality(oadrDataQualityType(dataQuality)); + + addReportPayload(rID, reportPayload); +} + +/********************************************************************************/ + +auto_ptr ReportWrapper::generateReport(time_t dtstart, string reportRequestID, time_t createdDateTime) +{ + auto_ptr reportType(new oadrReportType(reportRequestID, m_reportSpecifierID, Oadr2bHelper::timetToiCalDateTime(dtstart))); + + if (createdDateTime == 0) + createdDateTime = time(NULL); + + reportType->createdDateTime(Oadr2bHelper::timetToiCalDateTime(createdDateTime)); + + reportType->reportName(m_reportName->name()); + + intervals::interval_sequence::iterator interval_itr; + + int uid = 0; + for (interval_itr = m_intervals.begin(); interval_itr != m_intervals.end(); interval_itr++) + { + IntervalType::streamPayloadBase_sequence sequence; + + // TODO: convert UID to int and look associated ReportPayload in the map + // below. consider converting m_intervals to a vector to ensure the + // intervals are iterated in the order they're added + //string uid = (*interval_itr).uid()->text(); + + vector *payloads = &m_uIDtoReportPayload[uid]; + + vector::iterator payload_itr; + + for (payload_itr = payloads->begin(); payload_itr != payloads->end(); payload_itr++) + { + sequence.push_back(*payload_itr); + } + + (*interval_itr).streamPayloadBase(sequence); + + uid++; + } + + stream::intervals i; + + i.interval(m_intervals); + + reportType->intervals(i); + + m_intervals.clear(); + m_uIDtoReportPayload.clear(); + + return reportType; +} diff --git a/oadr/oadr/request/report/ReportWrapper.h b/oadr/oadr/request/report/ReportWrapper.h new file mode 100644 index 0000000..294ec77 --- /dev/null +++ b/oadr/oadr/request/report/ReportWrapper.h @@ -0,0 +1,458 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REPORTWRAPPER_H_ +#define REPORTWRAPPER_H_ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include + +#include "ReportEnumeratedTypeValue.h" +#include "ReadingTypeEnumeratedTypeValue.h" + +#include +#include +#include + +#include "../Oadr2bHelper.h" + +#include "ReportName.h" +#include "../DurationModifier.h" + +#include "../../helper/RandomHex.h" + +#include "../OadrException.h" + +using namespace std; +using namespace oadr2b::oadr; +using namespace oadr2b::ei; +using namespace power; +using namespace siscale; +using namespace stream; + +class ReportWrapper +{ +private: + ReportName *m_reportName; + int m_duration; + DurationModifier *m_durationModifier; + + string m_reportSpecifierID; + + map m_reportDescriptions; + + map m_rIDtoUID; + + map > m_uIDtoReportPayload; + + intervals::interval_sequence m_intervals; + + time_t m_createDateTime; + + void addReportPayload(string rID, oadrReportPayloadType &reportPayload); + +public: + enum eEnergyItemType + { + eEnergyApparent, + eEnergyReactive, + eEnergyReal + }; + + enum ePowerItemType + { + ePowerApparent, + ePowerReactive, + ePowerReal + }; + + ReportWrapper(ReportName *reportName, int duration, DurationModifier *durationModifier, string reportSpecifierID = "", time_t createDateTime = 0); + virtual ~ReportWrapper(); + + string reportSpecifierID(); + + void addDescription(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + auto_ptr measuredValue); + + void addDescriptionResourceStatus(string rID, string resourceID, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier); + + + void addDescriptionEnergyItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, int minSamplingPeriod, + int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, eEnergyItemType energyItemType, + string units, SiScaleCodeType::value siScaleCodeType, string description = ""); + + void addDescriptionPowerItem(string rID, string resourceID, ReportEnumeratedType::value reportType, + ReadingTypeEnumeratedType::value readingType, string marketContext, + int minSamplingPeriod, int maxSamplingPeriod, bool onChange, DurationModifier *durationModifier, + ePowerItemType powerItemType, string units, SiScaleCodeType::value siScaleCodeType, double hertz, + double voltage, bool ac, string description = ""); + + auto_ptr generateReportDescription(); + + void addInterval(string rID, time_t dtstart, int duration, DurationModifier *durationModifier); + + void addOadrReportPayloadFloat(string rID, float value, oadrDataQualityType::value dataQuality = oadrDataQualityType::Quality_Good___Non_Specific, unsigned int confidence = 100, unsigned int accuracy = 100); + + void addOadrReportPayloadResourceStatus(string rID, bool online, bool manualOverride, oadrDataQualityType::value dataQuality = oadrDataQualityType::Quality_Good___Non_Specific, unsigned int confidence = 100, unsigned int accuracy = 100); + + auto_ptr generateReport(time_t dtstart, string reportRequestID, time_t createdDateTime = 0); +}; + +#endif /* REPORTWRAPPER_H_ */ diff --git a/oadr/oadr/request/report/ReportWrapperList.cpp b/oadr/oadr/request/report/ReportWrapperList.cpp new file mode 100644 index 0000000..2437e0f --- /dev/null +++ b/oadr/oadr/request/report/ReportWrapperList.cpp @@ -0,0 +1,399 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ReportWrapperList.h" + +ReportWrapperList::ReportWrapperList() +{ +} + +/********************************************************************************/ + +ReportWrapperList::~ReportWrapperList() +{ + clear(true); +} + +/********************************************************************************/ + +void ReportWrapperList::addReportWrapper(ReportWrapper *reportWrapper) +{ + if (m_reportSepcifierIDtoReport.find(reportWrapper->reportSpecifierID()) != m_reportSepcifierIDtoReport.end()) + { + OadrException exception(OadrException::REPORT_SPEC_EXISTS); + throw exception; + } + + m_reports.push_back(reportWrapper); + + m_reportSepcifierIDtoReport[reportWrapper->reportSpecifierID()] = reportWrapper; +} + +/********************************************************************************/ + +ReportWrapper *ReportWrapperList::getReportWrapper(string reportSpecifierID) +{ + if (m_reportSepcifierIDtoReport.find(reportSpecifierID) == m_reportSepcifierIDtoReport.end()) + { + OadrException exception(OadrException::REPORT_SPEC_NON_EXISTENT); + throw exception; + } + + return m_reportSepcifierIDtoReport[reportSpecifierID]; +} + +/********************************************************************************/ + +void ReportWrapperList::addReportDescriptionsToSequence(oadrRegisterReportType::oadrReport_sequence &sequence) +{ + vector::iterator itr; + + for (itr = m_reports.begin(); itr != m_reports.end(); itr++) + sequence.push_back((*itr)->generateReportDescription()); +} + +/********************************************************************************/ + +void ReportWrapperList::addReportIntervalsToSequence(oadrUpdateReportType::oadrReport_sequence &sequence, time_t dtstart, string reportRequestID, time_t createdDateTime) +{ + vector::iterator itr; + + for (itr = m_reports.begin(); itr != m_reports.end(); itr++) + sequence.push_back((*itr)->generateReport(dtstart, reportRequestID, createdDateTime)); +} + +/********************************************************************************/ + +void ReportWrapperList::clear(bool deleteReportWrapper) +{ + m_reportSepcifierIDtoReport.clear(); + + if (!deleteReportWrapper) + { + m_reports.clear(); + return; + } + + while (m_reports.size() > 0) + { + ReportWrapper *reportWrapper = m_reports.back(); + + delete (reportWrapper); + + m_reports.pop_back(); + } +} diff --git a/oadr/oadr/request/report/ReportWrapperList.h b/oadr/oadr/request/report/ReportWrapperList.h new file mode 100644 index 0000000..de9f796 --- /dev/null +++ b/oadr/oadr/request/report/ReportWrapperList.h @@ -0,0 +1,356 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef REPORTWRAPPERLIST_H_ +#define REPORTWRAPPERLIST_H_ + +#include +#include + +#include +#include + +#include "ReportWrapper.h" + +#include "../OadrException.h" + +using namespace std; + +using namespace oadr2b::oadr; + +class ReportWrapperList +{ +private: + vector m_reports; + map m_reportSepcifierIDtoReport; + +public: + ReportWrapperList(); + virtual ~ReportWrapperList(); + + void addReportWrapper(ReportWrapper *reportWrapper); + + ReportWrapper *getReportWrapper(string reportSpecifierID); + + void addReportDescriptionsToSequence(oadrRegisterReportType::oadrReport_sequence &sequence); + + void addReportIntervalsToSequence(oadrUpdateReportType::oadrReport_sequence &sequence, time_t dtstart, string reportRequestID, time_t createdDateTime); + + void clear(bool deleteReportWrapper); +}; + +#endif /* REPORTWRAPPERLIST_H_ */ diff --git a/oadr/oadr/request/report/UpdateReport.cpp b/oadr/oadr/request/report/UpdateReport.cpp new file mode 100644 index 0000000..fe4f64f --- /dev/null +++ b/oadr/oadr/request/report/UpdateReport.cpp @@ -0,0 +1,356 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "UpdateReport.h" + +UpdateReport::UpdateReport(string venID, string requestID, oadrUpdateReportType::oadrReport_sequence sequence, + time_t dtstart, string reportRequestID, time_t createdDateTime) : + Oadr2bRequest("oadrUpdateReport", "oadrUpdatedReport", venID, requestID), + m_sequence(sequence), + m_dtstart(dtstart), + m_reportRequestID(reportRequestID), + m_createdDateTime(createdDateTime) +{ +} + +/********************************************************************************/ + +UpdateReport::~UpdateReport() +{ +} + +/********************************************************************************/ + +auto_ptr UpdateReport::generatePayload() +{ + auto_ptr request( new oadrUpdateReportType(requestID())); + + request->schemaVersion("2.0b"); + + request->venID(venID()); + + request->oadrReport(m_sequence); + + // generate the oadrPayload + auto_ptr oso(new oadrSignedObject()); + + oso->oadrUpdateReport(request); + + auto_ptr payload(new oadrPayload(oso)); + + return payload; +} diff --git a/oadr/oadr/request/report/UpdateReport.h b/oadr/oadr/request/report/UpdateReport.h new file mode 100644 index 0000000..6ccf921 --- /dev/null +++ b/oadr/oadr/request/report/UpdateReport.h @@ -0,0 +1,345 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef UPDATEREPORT_H_ +#define UPDATEREPORT_H_ + +#include + +#include "../Oadr2bRequest.h" +#include "ReportWrapperList.h" + +#include + +class UpdateReport : public Oadr2bRequest +{ +private: + oadrUpdateReportType::oadrReport_sequence m_sequence; + + time_t m_dtstart; + string m_reportRequestID; + time_t m_createdDateTime; + +protected: + auto_ptr generatePayload(); + +public: + UpdateReport(string venID, string requestID, oadrUpdateReportType::oadrReport_sequence sequence, time_t dtstart, string reportRequestID, time_t createdDateTime = 0); + virtual ~UpdateReport(); +}; + +#endif /* UPDATEREPORT_H_ */ diff --git a/oadr/oadr/ven/VEN2b.cpp b/oadr/oadr/ven/VEN2b.cpp new file mode 100644 index 0000000..38f72f4 --- /dev/null +++ b/oadr/oadr/ven/VEN2b.cpp @@ -0,0 +1,562 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "VEN2b.h" + +const string VEN2b::_EndpointEiEvent = "/EiEvent"; +const string VEN2b::_EndpointEiReport = "/EiReport"; +const string VEN2b::_EndpointEiRegisterParty = "/EiRegisterParty"; +const string VEN2b::_EndpointEiOpt = "/EiOpt"; +const string VEN2b::_EndpointEiPoll = "/OadrPoll"; + +/********************************************************************************/ + +VEN2b::VEN2b(IHttp *http, string baseURL, string venName, string venID, string registrationID) : + m_http(http), + m_baseURL(baseURL), + m_venName(venName), + m_venID(venID), + m_registrationID(registrationID) +{ + // initialize xerces; required for some of the code synthesis parsing routines + // TODO: init/terminate need only be called once. Should we add an object + // counter and initialize xerces when the count == 0 and terminate when + // count goes back to 0? + XMLPlatformUtils::Initialize(); +} + +/********************************************************************************/ + +VEN2b::~VEN2b() +{ + if (m_http != NULL) + delete (m_http); + + // cleanup xerces + XMLPlatformUtils::Terminate(); +} + +/********************************************************************************/ + +string VEN2b::venID() +{ + return m_venID; +} + +/********************************************************************************/ + +string VEN2b::registrationID() +{ + return m_registrationID; +} + +/********************************************************************************/ + +bool VEN2b::isRegistered() +{ + if (m_venID == "" || m_registrationID == "") + return false; + + return true; +} + +/********************************************************************************/ + +void VEN2b::postRequest(Oadr2bRequest *request, string endPoint) +{ + string requestBody = request->generateRequestXML(); + + m_http->post(m_baseURL + endPoint, requestBody); + + request->setHttpFields(requestBody, m_http->getResponseBody(), m_http->getResponseCode(), m_http->getResponseMessage()); +} + +/********************************************************************************/ + +auto_ptr VEN2b::requestEvent(string requestID, unsigned int replyLimit) +{ + auto_ptr request(new RequestEvent(m_venID, requestID, replyLimit)); + + postRequest(request.get(), _EndpointEiEvent); + + return request; +} + +/********************************************************************************/ + +void VEN2b::setIDs(oadrCreatedPartyRegistrationType *cpr) +{ + m_venID = (cpr->venID().present() ? *cpr->venID() : ""); + m_registrationID = (cpr->registrationID().present() ? *cpr->registrationID() : ""); +} + +/********************************************************************************/ + +auto_ptr VEN2b::queryRegistration(string requestID) +{ + auto_ptr request(new QueryRegistration(requestID)); + + postRequest(request.get(), _EndpointEiRegisterParty); + + // the response should be a oadrCreatedPartyRegistration which contains the VEN ID and + // registration ID which are needed for future communications + if (request->response() != NULL && request->response()->oadrSignedObject().oadrCreatedPartyRegistration().present()) + { + if (request->response()->oadrSignedObject().oadrCreatedPartyRegistration()->eiResponse().responseCode().compare("200") == 0) + { + oadrCreatedPartyRegistrationType *cpr = &request->response()->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + if (cpr->venID().present() && cpr->venID()->compare("") != 0) + setIDs(cpr); + } + } + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::createPartyRegistration(oadrProfileType profileType, oadrTransportType transportType, + string transportAddress, + bool reportOnly, bool xmlSignature, bool httpPullModel, string registrationID, string requestID) +{ + auto_ptr request(new CreatePartyRegistration(m_venID, requestID, registrationID, + profileType, transportType, transportAddress, reportOnly, xmlSignature, m_venName, httpPullModel)); + + postRequest(request.get(), _EndpointEiRegisterParty); + + // the response should be a oadrCreatedPartyRegistration which contains the VEN ID and + // registration ID which are needed for future communications + if (request->response() != NULL && request->response()->oadrSignedObject().oadrCreatedPartyRegistration().present()) + { + if (request->response()->oadrSignedObject().oadrCreatedPartyRegistration()->eiResponse().responseCode().compare("200") == 0) + { + oadrCreatedPartyRegistrationType *cpr = &request->response()->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + setIDs(cpr); + } + } + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::cancelPartyRegistration(string requestID) +{ + auto_ptr request(new CancelPartyRegistration(m_venID, m_registrationID, requestID)); + + postRequest(request.get(), _EndpointEiRegisterParty); + + if (request->response() != NULL && request->response()->oadrSignedObject().oadrCreatedPartyRegistration().present()) + { + string responseCode = request->response()->oadrSignedObject().oadrCreatedPartyRegistration()->eiResponse().responseCode(); + + // if the response indicates OK, the request was successful + // 453 indicates the registrationID was invalid + // any other return should indicate the cancel was not successful + if (responseCode.compare("200") == 0 || responseCode.compare("453") == 0) + clearRegistration(); + } + + return request; +} + +/********************************************************************************/ + +void VEN2b::clearRegistration() +{ + m_venID.clear(); + m_registrationID.clear(); +} + +/********************************************************************************/ + +auto_ptr VEN2b::createdEvent(string responseCode, string responseDescription, EventResponses &responses, string requestID) +{ + auto_ptr request(new CreatedEvent(m_venID, responseCode, responseDescription, responses, requestID)); + + postRequest(request.get(), _EndpointEiEvent); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::registerReport(oadrRegisterReportType::oadrReport_sequence sequence, string requestID) +{ + auto_ptr request(new RegisterReport(m_venID, requestID, sequence)); + + postRequest(request.get(), _EndpointEiReport); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::registeredReport(string requestID, string responseCode, string responseDescription) +{ + auto_ptr request(new RegisteredReport(venID(), requestID, responseCode, responseDescription)); + + postRequest(request.get(), _EndpointEiReport); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::updateReport(oadrUpdateReportType::oadrReport_sequence sequence, time_t dtstart, string reportRequestID, time_t createdDateTime, string requestID) +{ + auto_ptr request(new UpdateReport(m_venID, requestID, sequence, dtstart, reportRequestID, createdDateTime)); + + postRequest(request.get(), _EndpointEiReport); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::createOptSchedule(OptSchedule &optSchedule, string requestID) +{ + auto_ptr request(new CreateOptSchedule(m_venID, optSchedule, requestID)); + + postRequest(request.get(), _EndpointEiOpt); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::cancelOptSchedule(string optID, string requestID) +{ + auto_ptr request(new CancelOptSchedule(m_venID, optID, requestID)); + + postRequest(request.get(), _EndpointEiOpt); + + return request; +} + +/********************************************************************************/ + +auto_ptr VEN2b::poll() +{ + auto_ptr request(new Poll(m_venID)); + + postRequest(request.get(), _EndpointEiPoll); + + return request; +} diff --git a/oadr/oadr/ven/VEN2b.h b/oadr/oadr/ven/VEN2b.h new file mode 100644 index 0000000..a081a5f --- /dev/null +++ b/oadr/oadr/ven/VEN2b.h @@ -0,0 +1,406 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef VEN2B_H_ +#define VEN2B_H_ + +#include + +#include + +using namespace xercesc_3_1; + +#include "http/IHttp.h" + +#include "../request/RequestEvent.h" +#include "../request/QueryRegistration.h" +#include "../request/CreatePartyRegistration.h" +#include "../request/CancelPartyRegistration.h" +#include "../request/CreatedEvent.h" + +#include "../request/opt/CreateOptSchedule.h" +#include "../request/opt/CreateOptEvent.h" +#include "../request/opt/CancelOptSchedule.h" + +#include "../request/report/RegisterReport.h" +#include "../request/report/UpdateReport.h" +#include "../request/report/RegisteredReport.h" + +#include "../request/opt/CreateOptSchedule.h" + +#include "../request/Poll.h" + + + +using namespace std; + +class VEN2b +{ +private: + IHttp *m_http; + string m_baseURL; + string m_venName; + string m_venID; + string m_registrationID; + + static const string _EndpointEiEvent; + static const string _EndpointEiReport; + static const string _EndpointEiRegisterParty; + static const string _EndpointEiOpt; + static const string _EndpointEiPoll; + + void postRequest(Oadr2bRequest *request, string endPoint); + + void setIDs(oadrCreatedPartyRegistrationType *cpr); + +public: + VEN2b(IHttp *http, string baseURL, string venName, string venID = "", string registrationID = ""); + + virtual ~VEN2b(); + + string venID(); + string registrationID(); + + bool isRegistered(); + + auto_ptr requestEvent(string requestID = "", unsigned int replyLimit = 0); + + auto_ptr queryRegistration(string requestID = ""); + + auto_ptr createPartyRegistration(oadrProfileType profileType, oadrTransportType transportType, string transportAddress, + bool reportOnly, bool xmlSignature, bool httpPullModel, string registrationID = "", string requestID = ""); + + auto_ptr cancelPartyRegistration(string requestID = ""); + + void clearRegistration(); + + auto_ptr createdEvent(string responseCode, string responseDescription, EventResponses &responses, string requestID = ""); + + auto_ptr registerReport(oadrRegisterReportType::oadrReport_sequence sequence, string requestID = ""); + + auto_ptr updateReport(oadrUpdateReportType::oadrReport_sequence sequence, time_t dtstart, string reportRequestID, time_t createdDateTime = 0, string requestID = ""); + + auto_ptr registeredReport(string requestID, string responseCode, string responseDescription); + + auto_ptr createOptSchedule(OptSchedule &optSchedule, string requestID = ""); + + auto_ptr cancelOptSchedule(string optID, string requestID = ""); + + auto_ptr poll(); +}; + +#endif /* VEN2B_H_ */ diff --git a/oadr/oadr/ven/http/CurlBuffer.cpp b/oadr/oadr/ven/http/CurlBuffer.cpp new file mode 100644 index 0000000..a1d0ee9 --- /dev/null +++ b/oadr/oadr/ven/http/CurlBuffer.cpp @@ -0,0 +1,357 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CurlBuffer.h" + +CurlBuffer::CurlBuffer() +{ +} + +/********************************************************************************/ + +CurlBuffer::~CurlBuffer() +{ + +} + +/********************************************************************************/ + +const char* CurlBuffer::contentBuffer() +{ + return m_content.c_str(); +} + +/********************************************************************************/ + +size_t CurlBuffer::numBytes() +{ + return m_content.length(); +} + +/********************************************************************************/ + +string CurlBuffer::content() +{ + return m_content; +} + +/********************************************************************************/ + +void CurlBuffer::clear() +{ + m_content.clear(); +} diff --git a/oadr/oadr/ven/http/CurlBuffer.h b/oadr/oadr/ven/http/CurlBuffer.h new file mode 100644 index 0000000..f7095b0 --- /dev/null +++ b/oadr/oadr/ven/http/CurlBuffer.h @@ -0,0 +1,342 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CURLBUFFER_H_ +#define CURLBUFFER_H_ + +#include + +using namespace std; + +class CurlBuffer +{ +protected: + string m_content; + +public: + CurlBuffer(); + virtual ~CurlBuffer(); + + const char* contentBuffer(); + size_t numBytes(); + + string content(); + + void clear(); +}; + +#endif /* CURLBUFFER_H_ */ diff --git a/oadr/oadr/ven/http/CurlException.cpp b/oadr/oadr/ven/http/CurlException.cpp new file mode 100644 index 0000000..8a673f5 --- /dev/null +++ b/oadr/oadr/ven/http/CurlException.cpp @@ -0,0 +1,344 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CurlException.h" + +CurlException::CurlException(CURLcode result, char *message) : + m_result(result), + m_message(message) +{ +} + +/********************************************************************************/ + +CurlException::~CurlException() throw() +{ +} + +/********************************************************************************/ + +const char* CurlException::what() const throw() +{ + return m_message; +} + +/********************************************************************************/ + +CURLcode CurlException::curlCode() +{ + return m_result; +} diff --git a/oadr/oadr/ven/http/CurlException.h b/oadr/oadr/ven/http/CurlException.h new file mode 100644 index 0000000..997fdb7 --- /dev/null +++ b/oadr/oadr/ven/http/CurlException.h @@ -0,0 +1,343 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CURLEXCEPTION_H_ +#define CURLEXCEPTION_H_ + +#include + +#include + +using namespace std; + +// CURL error codes: http://curl.haxx.se/libcurl/c/libcurl-errors.html + +class CurlException : public exception +{ +private: + CURLcode m_result; + char *m_message; + +public: + CurlException(CURLcode result, char *message); + virtual ~CurlException() throw(); + + const char* what() const throw(); + CURLcode curlCode(); +}; + +#endif /* CURLEXCEPTION_H_ */ diff --git a/oadr/oadr/ven/http/CurlReceiveBuffer.cpp b/oadr/oadr/ven/http/CurlReceiveBuffer.cpp new file mode 100644 index 0000000..35fa992 --- /dev/null +++ b/oadr/oadr/ven/http/CurlReceiveBuffer.cpp @@ -0,0 +1,403 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CurlReceiveBuffer.h" + +CurlReceiveBuffer::CurlReceiveBuffer() +{ +} + +/********************************************************************************/ + +CurlReceiveBuffer::~CurlReceiveBuffer() +{ +} + +/********************************************************************************/ + +size_t CurlReceiveBuffer::receive(const char *buffer, size_t numBytes) +{ + m_content.append(buffer, numBytes); + + return numBytes; +} + +/********************************************************************************/ + +void CurlReceiveBuffer::parse(map &headers, map &cookies, string &body, string &httpVersion, string &httpResponseCode, string &httpResponseMessage) +{ + stringstream ss(m_content); + string line; + string value; + size_t totalBytesRead = 0; + + // HTTP version, response code, response message: HTTP/1.1 200 OK + getline(ss, line, '\r'); + totalBytesRead += line.length() + 1; + + size_t pos = line.find(' '); + size_t pos2 = line.find(' ', pos + 1); + + httpVersion = line.substr(0, pos); + httpResponseCode = line.substr(pos + 1, 3); + httpResponseMessage = line.substr(pos2 + 1); // ignore the final \r + + // discard the newline character + getline(ss, line, '\n'); + + while (getline(ss, line, '\r')) + { + string key; + string value; + + // discard the newline character + string discard; + getline(ss, discard, '\n'); + + // add two for the discarded carriage return and line feed characters + totalBytesRead += line.length() + 2; + + // marks the end of the headers and the start of they body + if (line.length() <= 1) + { + body = ss.str().substr(totalBytesRead+1); + break; + } + + // parse a header + // ETag: "ce9fc5cb1bdd952d0b00d904ca96dac4" + size_t pos = line.find(':'); + + key = line.substr(0, pos); + value = line.substr(pos+2); // skip the : and a space + + // TODO: does this compare need to be case insensitive? + if (key.compare("Set-Cookie") == 0) + { + // parse a cookie + // Set-Cookie: oadr_remember_token=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT + pos = value.find('='); + + key = value.substr(0, pos); + value = value.substr(pos+1); + + cookies[key] = value; + } + else + headers[key] = value; + } +} diff --git a/oadr/oadr/ven/http/CurlReceiveBuffer.h b/oadr/oadr/ven/http/CurlReceiveBuffer.h new file mode 100644 index 0000000..5595d18 --- /dev/null +++ b/oadr/oadr/ven/http/CurlReceiveBuffer.h @@ -0,0 +1,342 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CURLRECEIVEBUFFER_H_ +#define CURLRECEIVEBUFFER_H_ + +#include +#include +#include + +#include "CurlBuffer.h" + +using namespace std; + +class CurlReceiveBuffer : public CurlBuffer +{ +private: +public: + CurlReceiveBuffer(); + + virtual ~CurlReceiveBuffer(); + + size_t receive(const char *buffer, size_t numBytes); + + void parse(map &headers, map &cookies, string &body, string &httpVersion, string &httpResponseCode, string &httpResponseMessage); +}; + +#endif /* CURLRECEIVEBUFFER_H_ */ diff --git a/oadr/oadr/ven/http/CurlSendBuffer.cpp b/oadr/oadr/ven/http/CurlSendBuffer.cpp new file mode 100644 index 0000000..e8a9617 --- /dev/null +++ b/oadr/oadr/ven/http/CurlSendBuffer.cpp @@ -0,0 +1,356 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "CurlSendBuffer.h" + +/********************************************************************************/ + +CurlSendBuffer::CurlSendBuffer() +{ + m_bytesSent = 0; +} + +/********************************************************************************/ + +CurlSendBuffer::~CurlSendBuffer() +{ +} + +/********************************************************************************/ + +void CurlSendBuffer::initialize(string content) +{ + m_content = content; + + m_bytesSent = 0; +} + +/********************************************************************************/ + +size_t CurlSendBuffer::send(char *buffer, size_t maxBytes) +{ + size_t remainingBytes = m_content.size() - m_bytesSent; + size_t bytesToCopy = (maxBytes < remainingBytes ? maxBytes : remainingBytes); + + memcpy(buffer, m_content.c_str() + m_bytesSent, bytesToCopy); + + m_bytesSent += bytesToCopy; + + return bytesToCopy; +} + + diff --git a/oadr/oadr/ven/http/CurlSendBuffer.h b/oadr/oadr/ven/http/CurlSendBuffer.h new file mode 100644 index 0000000..dd9ffd2 --- /dev/null +++ b/oadr/oadr/ven/http/CurlSendBuffer.h @@ -0,0 +1,342 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef CURLSENDBUFFER_H_ +#define CURLSENDBUFFER_H_ + +#include +#include + +#include "CurlBuffer.h" + +using namespace std; + +class CurlSendBuffer : public CurlBuffer +{ +private: + size_t m_bytesSent; + +public: + CurlSendBuffer(); + virtual ~CurlSendBuffer(); + + void initialize(string contents); + + size_t send(char *buffer, size_t maxBytes); +}; + +#endif /* CURLSENDBUFFER_H_ */ diff --git a/oadr/oadr/ven/http/HttpCurl.cpp b/oadr/oadr/ven/http/HttpCurl.cpp new file mode 100644 index 0000000..dfbbb98 --- /dev/null +++ b/oadr/oadr/ven/http/HttpCurl.cpp @@ -0,0 +1,658 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "HttpCurl.h" + +bool HttpCurl::m_curlInitialized = false; +int HttpCurl::m_instanceCount = 0; + +/********************************************************************************/ + +size_t writeFunction(char *ptr, size_t size, size_t nmemb, void *userdata); +size_t readFunction(void *ptr, size_t size, size_t nmemb, void *userdata); + +/********************************************************************************/ + +HttpCurl::HttpCurl() +{ + CURLcode result; + + m_message[0] = 0; + + m_requestHeaders = NULL; + m_clientCertificatePath = ""; + m_certificateAuthorityBundlePath = ""; + m_sslCipherList = "DEFAULT"; + m_sslVersion = CURL_SSLVERSION_DEFAULT; + + // TODO: this check is not threadsafe; use a lock + if (!m_curlInitialized) + { + + if ((result = curl_global_init(CURL_GLOBAL_ALL)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + } + + // init curl + // how do we get the error code when initialiation failed? + if ((m_curl = curl_easy_init()) == NULL) + { + CurlException ex((CURLcode)0, m_message); + throw ex; + } + + // set error buffer + if ((result = curl_easy_setopt(m_curl, CURLOPT_ERRORBUFFER, m_message)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // enable header output + if ((result = curl_easy_setopt(m_curl, CURLOPT_HEADER, 1)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + +#ifdef _CURL_DEBUG + // enable verbose output + if ((result = curl_easy_setopt(m_curl, CURLOPT_VERBOSE, 1)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // redirect output to curl_output.txt + FILE *fp = fopen("curl_output.txt", "a"); + + if (fp != NULL) + { + if ((result = curl_easy_setopt(m_curl, CURLOPT_STDERR, fp)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + } + else + cout << "failed to open file curl_output.txt: " << strerror(errno); + +#endif + + // all requests will be posts + if ((result = curl_easy_setopt(m_curl, CURLOPT_POST, 1L)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the write function + if ((result = curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, &::writeFunction)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the write parameter + if ((result = curl_easy_setopt(m_curl, CURLOPT_WRITEDATA, this)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the read function + if ((result = curl_easy_setopt(m_curl, CURLOPT_READFUNCTION, &::readFunction)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the read parameter + if ((result = curl_easy_setopt(m_curl, CURLOPT_READDATA, this)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + m_requestHeaders = curl_slist_append(m_requestHeaders, "Content-Type: application/xml"); + + // remove header: Expect: 100-continue + m_requestHeaders = curl_slist_append(m_requestHeaders, "Expect:"); + + m_instanceCount++; +} + +/********************************************************************************/ + +HttpCurl::~HttpCurl() +{ + if (m_curl != NULL) + curl_easy_cleanup(m_curl); + + m_instanceCount--; + + // TODO: not thread safe; use a lock + if (m_instanceCount == 0) + { + curl_global_cleanup(); + } + + if (m_requestHeaders != NULL) + curl_slist_free_all(m_requestHeaders); +} + +/********************************************************************************/ + +size_t HttpCurl::readFunction(void *ptr, size_t size, size_t nmemb) +{ + return m_sendBuffer.send((char *)ptr, size * nmemb); +} + +/********************************************************************************/ + +size_t readFunction(void *ptr, size_t size, size_t nmemb, void *userdata) +{ + HttpCurl *httpCurl = (HttpCurl *)userdata; + + return httpCurl->readFunction(ptr, size, nmemb); +} + +/********************************************************************************/ + +size_t HttpCurl::writeFunction(char *ptr, size_t size, size_t nmemb) +{ + return m_receiveBuffer.receive(ptr, size * nmemb); +} + +/********************************************************************************/ + +size_t writeFunction(char *ptr, size_t size, size_t nmemb, void *userdata) +{ + HttpCurl *httpCurl = (HttpCurl *)userdata; + + return httpCurl->writeFunction(ptr, size, nmemb); +} + +/********************************************************************************/ + +bool HttpCurl::post(string url, string content) +{ + CURLcode result; + + m_sendBuffer.initialize(content); + m_receiveBuffer.clear(); + + // set the URL + if ((result = curl_easy_setopt(m_curl, CURLOPT_URL, url.c_str())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + if ((result = curl_easy_setopt(m_curl, CURLOPT_POSTFIELDSIZE, content.length())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the application type header + if ((result = curl_easy_setopt(m_curl, CURLOPT_HTTPHEADER, m_requestHeaders)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set additional parameters if an https + if (strncmp(url.c_str(), "https", 5) == 0) + { + if (m_verifyCertificate) + { + // verify the server certificate host name matches + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYHOST, 2)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // verify the certificate is authentic against the CA bundle + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYPEER, 1)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + } + else + { + // don't verify the server certificate host name matches + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYHOST, 0)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // verify the certificate is authentic against the CA bundle + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSL_VERIFYPEER, 0)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + } + + // set SSL version. If SSL 1.2, then requires libcurl >= 7.34.0) + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSLVERSION, m_sslVersion)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set SSL cipher list of allowed ciphers + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSL_CIPHER_LIST, m_sslCipherList.c_str())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the client certificate + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSLCERT, m_clientCertificatePath.c_str())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set the SSL private key + if ((result = curl_easy_setopt(m_curl, CURLOPT_SSLKEY, m_clientPrivateKeyPath.c_str())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + // set certificate authority bundle + if ((result = curl_easy_setopt(m_curl, CURLOPT_CAINFO, m_certificateAuthorityBundlePath.c_str())) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + } + + // initiate the request + if ((result = curl_easy_perform(m_curl)) != 0) + { + CurlException ex(result, m_message); + throw ex; + } + + m_receiveBuffer.parse(m_headers, m_cookies, m_responseBody, m_httpVersion, m_httpResponseCode, m_httpResponseMessage); + + return true; +} + +/********************************************************************************/ + +void HttpCurl::setParameters(string clientCertificatePath, string clientPrivateKeyPath, string certificateAuthorityBundlePath, bool verifyCertificate, string sslCipherList, long sslVersion) +{ + m_clientCertificatePath = clientCertificatePath; + m_clientPrivateKeyPath = clientPrivateKeyPath; + m_certificateAuthorityBundlePath = certificateAuthorityBundlePath; + m_verifyCertificate = verifyCertificate; + m_sslCipherList = sslCipherList; + m_sslVersion = sslVersion; +} + +/********************************************************************************/ + +string HttpCurl::getRequestBody() +{ + return m_sendBuffer.content(); +} + +/********************************************************************************/ + +string HttpCurl::getResponseBody() +{ + return m_responseBody; +} + +/********************************************************************************/ + +string HttpCurl::getResponseCode() +{ + return m_httpResponseCode; +} + +/********************************************************************************/ + +string HttpCurl::getResponseMessage() +{ + return m_httpResponseMessage; +} + +/********************************************************************************/ + +time_t HttpCurl::getResponseTime() +{ + return 0; +} + +/********************************************************************************/ + +string HttpCurl::getServerDate() +{ + return m_headers["Date"]; +} diff --git a/oadr/oadr/ven/http/HttpCurl.h b/oadr/oadr/ven/http/HttpCurl.h new file mode 100644 index 0000000..00f7f6e --- /dev/null +++ b/oadr/oadr/ven/http/HttpCurl.h @@ -0,0 +1,388 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef HTTPCURL_H_ +#define HTTPCURL_H_ + +#include +#include +#include + +#include + +#include + +#include "IHttp.h" + +#include "CurlException.h" +#include "CurlSendBuffer.h" +#include "CurlReceiveBuffer.h" + +class HttpCurl : public IHttp +{ +private: + static bool m_curlInitialized; + static int m_instanceCount; + + struct curl_slist *m_requestHeaders; + + char m_message[CURL_ERROR_SIZE]; + CURL *m_curl; + CurlReceiveBuffer m_receiveBuffer; + CurlSendBuffer m_sendBuffer; + + map m_headers; + map m_cookies; + + string m_httpResponseCode; + string m_httpResponseMessage; + + string m_httpVersion; + string m_responseBody; + + string m_clientCertificatePath; + string m_clientPrivateKeyPath; + string m_certificateAuthorityBundlePath; + bool m_verifyCertificate; + string m_sslCipherList; + long m_sslVersion; + + size_t readFunction(void *ptr, size_t size, size_t nmemb); + friend size_t readFunction(void *ptr, size_t size, size_t nmemb, void *userdata); + + size_t writeFunction(char *ptr, size_t size, size_t nmemb); + friend size_t writeFunction(char *ptr, size_t size, size_t nmemb, void *userdata); + +public: + HttpCurl(); + virtual ~HttpCurl(); + + bool post(string url, string content); + + void setParameters(string clientCertificatePath, string clientPrivateKeyPath, string certificateAuthorityBundlePath, bool verifyCertificate = true, string sslCipherList = "DEFAULT", long sslVersion = CURL_SSLVERSION_DEFAULT); + + string getRequestBody(); + string getResponseBody(); + + string getResponseCode(); + string getResponseMessage(); + + time_t getResponseTime(); + string getServerDate(); +}; + +#endif /* HTTPCURL_H_ */ diff --git a/oadr/oadr/ven/http/IHttp.cpp b/oadr/oadr/ven/http/IHttp.cpp new file mode 100644 index 0000000..fe87781 --- /dev/null +++ b/oadr/oadr/ven/http/IHttp.cpp @@ -0,0 +1,328 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "IHttp.h" + +IHttp::IHttp() { + // TODO Auto-generated constructor stub + +} + +IHttp::~IHttp() { + // TODO Auto-generated destructor stub +} + diff --git a/oadr/oadr/ven/http/IHttp.h b/oadr/oadr/ven/http/IHttp.h new file mode 100644 index 0000000..b38253d --- /dev/null +++ b/oadr/oadr/ven/http/IHttp.h @@ -0,0 +1,345 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef IHTTP_H_ +#define IHTTP_H_ + +#include + +using namespace std; + +class IHttp +{ +public: + IHttp(); + virtual ~IHttp(); + + virtual bool post(string url, string content) = 0; + + virtual void setParameters(string clientCertificatePath, string clientPrivateKeyPath, string certificateAuthorityBundlePath, bool verifyCertificate, string sslCipherList, long sslVersion) = 0; + + virtual string getRequestBody() = 0; + virtual string getResponseBody() = 0; + + virtual string getResponseCode() = 0; + virtual string getResponseMessage() = 0; + + virtual time_t getResponseTime() = 0; + virtual string getServerDate() = 0; +}; + +#endif /* IHTTP_H_ */ diff --git a/oadrsd/.gitignore b/oadrsd/.gitignore new file mode 100644 index 0000000..8abcbcf --- /dev/null +++ b/oadrsd/.gitignore @@ -0,0 +1,3 @@ +/Debug +/Release +/mac-Debug diff --git a/oadrsd/SConscript b/oadrsd/SConscript new file mode 100644 index 0000000..59c0a0d --- /dev/null +++ b/oadrsd/SConscript @@ -0,0 +1,12 @@ +import glob +import os +import sconsHelper + +Import('cflags buildmode') + +cppPath = ['../xsd-4.0.0'] +libDir = [] +libs = ['xerces-c'] + +sconsHelper.build('oadrsd', cppPath, cflags, libDir, libs, buildmode, "shared") + diff --git a/oadrsd/oadrsd/2b/AccumulationKind.cxx b/oadrsd/oadrsd/2b/AccumulationKind.cxx new file mode 100644 index 0000000..2aa120b --- /dev/null +++ b/oadrsd/oadrsd/2b/AccumulationKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AccumulationKind.hxx" + +namespace espi +{ + // AccumulationKind + // + + AccumulationKind:: + AccumulationKind (const char* s) + : ::xml_schema::string (s) + { + } + + AccumulationKind:: + AccumulationKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + AccumulationKind:: + AccumulationKind (const AccumulationKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // AccumulationKind + // + + AccumulationKind:: + AccumulationKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + AccumulationKind:: + AccumulationKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + AccumulationKind:: + AccumulationKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + AccumulationKind* AccumulationKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AccumulationKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, AccumulationKind > + _xsd_AccumulationKind_type_factory_init ( + "AccumulationKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const AccumulationKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const AccumulationKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const AccumulationKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, AccumulationKind > + _xsd_AccumulationKind_type_serializer_init ( + "AccumulationKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AccumulationKind.hxx b/oadrsd/oadrsd/2b/AccumulationKind.hxx new file mode 100644 index 0000000..0d0fc0e --- /dev/null +++ b/oadrsd/oadrsd/2b/AccumulationKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ACCUMULATION_KIND_HXX +#define ACCUMULATION_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class AccumulationKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class AccumulationKind: public ::xml_schema::string + { + public: + + AccumulationKind (const char* v); + + AccumulationKind (const ::std::string& v); + + AccumulationKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind (const AccumulationKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AccumulationKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const AccumulationKind&); + + void + operator<< (::xercesc::DOMAttr&, const AccumulationKind&); + + void + operator<< (::xml_schema::list_stream&, + const AccumulationKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ACCUMULATION_KIND_HXX diff --git a/oadrsd/oadrsd/2b/AccumulationKind_member.cxx b/oadrsd/oadrsd/2b/AccumulationKind_member.cxx new file mode 100644 index 0000000..9ac0c81 --- /dev/null +++ b/oadrsd/oadrsd/2b/AccumulationKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AccumulationKind_member.hxx" + +namespace espi +{ + // AccumulationKind_member + // + + AccumulationKind_member:: + AccumulationKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + AccumulationKind_member:: + AccumulationKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + AccumulationKind_member:: + AccumulationKind_member (const AccumulationKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // AccumulationKind_member + // + + AccumulationKind_member:: + AccumulationKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + AccumulationKind_member:: + AccumulationKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + AccumulationKind_member:: + AccumulationKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + AccumulationKind_member* AccumulationKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AccumulationKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const AccumulationKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const AccumulationKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const AccumulationKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AccumulationKind_member.hxx b/oadrsd/oadrsd/2b/AccumulationKind_member.hxx new file mode 100644 index 0000000..ee4f74d --- /dev/null +++ b/oadrsd/oadrsd/2b/AccumulationKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ACCUMULATION_KIND_MEMBER_HXX +#define ACCUMULATION_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class AccumulationKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class AccumulationKind_member: public ::espi::UInt16 + { + public: + AccumulationKind_member (::xml_schema::unsigned_short v); + + AccumulationKind_member (const ::espi::UInt16& v); + + AccumulationKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccumulationKind_member (const AccumulationKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AccumulationKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const AccumulationKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const AccumulationKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const AccumulationKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ACCUMULATION_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/AccuracyType.cxx b/oadrsd/oadrsd/2b/AccuracyType.cxx new file mode 100644 index 0000000..9578ed2 --- /dev/null +++ b/oadrsd/oadrsd/2b/AccuracyType.cxx @@ -0,0 +1,190 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AccuracyType.hxx" + +namespace oadr2b +{ + namespace ei + { + // AccuracyType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // AccuracyType + // + + AccuracyType:: + AccuracyType (const ::xml_schema::float_& _xsd_float__base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (_xsd_float__base) + { + } + + AccuracyType:: + AccuracyType (const AccuracyType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (x, f, c) + { + } + + AccuracyType:: + AccuracyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (e, f, c) + { + } + + AccuracyType:: + AccuracyType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (a, f, c) + { + } + + AccuracyType:: + AccuracyType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + AccuracyType* AccuracyType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AccuracyType (*this, f, c); + } + + AccuracyType:: + ~AccuracyType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, AccuracyType > + _xsd_AccuracyType_type_factory_init ( + "AccuracyType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const AccuracyType& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const AccuracyType& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const AccuracyType& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, AccuracyType > + _xsd_AccuracyType_type_serializer_init ( + "AccuracyType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AccuracyType.hxx b/oadrsd/oadrsd/2b/AccuracyType.hxx new file mode 100644 index 0000000..3057eb0 --- /dev/null +++ b/oadrsd/oadrsd/2b/AccuracyType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ACCURACY_TYPE_HXX +#define ACCURACY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class AccuracyType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class AccuracyType: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::float_, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + AccuracyType (const ::xml_schema::float_&); + + AccuracyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccuracyType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccuracyType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AccuracyType (const AccuracyType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AccuracyType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~AccuracyType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const AccuracyType&); + + void + operator<< (::xercesc::DOMAttr&, const AccuracyType&); + + void + operator<< (::xml_schema::list_stream&, + const AccuracyType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ACCURACY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/AggregatedPnodeType.cxx b/oadrsd/oadrsd/2b/AggregatedPnodeType.cxx new file mode 100644 index 0000000..758352b --- /dev/null +++ b/oadrsd/oadrsd/2b/AggregatedPnodeType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AggregatedPnodeType.hxx" + +#include "NodeType.hxx" + +namespace power +{ + // AggregatedPnodeType + // + + const AggregatedPnodeType::node_type& AggregatedPnodeType:: + node () const + { + return this->node_.get (); + } + + AggregatedPnodeType::node_type& AggregatedPnodeType:: + node () + { + return this->node_.get (); + } + + void AggregatedPnodeType:: + node (const node_type& x) + { + this->node_.set (x); + } + + void AggregatedPnodeType:: + node (::std::auto_ptr< node_type > x) + { + this->node_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // AggregatedPnodeType + // + + AggregatedPnodeType:: + AggregatedPnodeType (const node_type& node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + AggregatedPnodeType:: + AggregatedPnodeType (::std::auto_ptr< node_type > node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + AggregatedPnodeType:: + AggregatedPnodeType (const AggregatedPnodeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + node_ (x.node_, f, this) + { + } + + AggregatedPnodeType:: + AggregatedPnodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + node_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void AggregatedPnodeType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // node + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< node_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!node_.present ()) + { + ::std::auto_ptr< node_type > r ( + dynamic_cast< node_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->node_.set (r); + continue; + } + } + } + + break; + } + + if (!node_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + AggregatedPnodeType* AggregatedPnodeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AggregatedPnodeType (*this, f, c); + } + + AggregatedPnodeType& AggregatedPnodeType:: + operator= (const AggregatedPnodeType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->node_ = x.node_; + } + + return *this; + } + + AggregatedPnodeType:: + ~AggregatedPnodeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, AggregatedPnodeType > + _xsd_AggregatedPnodeType_type_factory_init ( + "AggregatedPnodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const AggregatedPnodeType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // node + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const AggregatedPnodeType::node_type& x (i.node ()); + if (typeid (AggregatedPnodeType::node_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, AggregatedPnodeType > + _xsd_AggregatedPnodeType_type_serializer_init ( + "AggregatedPnodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AggregatedPnodeType.hxx b/oadrsd/oadrsd/2b/AggregatedPnodeType.hxx new file mode 100644 index 0000000..b8442f6 --- /dev/null +++ b/oadrsd/oadrsd/2b/AggregatedPnodeType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef AGGREGATED_PNODE_TYPE_HXX +#define AGGREGATED_PNODE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class AggregatedPnodeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class NodeType; +} + +namespace power +{ + class AggregatedPnodeType: public ::xml_schema::type + { + public: + // node + // + typedef ::power::NodeType node_type; + typedef ::xsd::cxx::tree::traits< node_type, char > node_traits; + + const node_type& + node () const; + + node_type& + node (); + + void + node (const node_type& x); + + void + node (::std::auto_ptr< node_type > p); + + // Constructors. + // + AggregatedPnodeType (const node_type&); + + AggregatedPnodeType (::std::auto_ptr< node_type >); + + AggregatedPnodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AggregatedPnodeType (const AggregatedPnodeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AggregatedPnodeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + AggregatedPnodeType& + operator= (const AggregatedPnodeType& x); + + virtual + ~AggregatedPnodeType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< node_type > node_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const AggregatedPnodeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // AGGREGATED_PNODE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.cxx b/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.cxx new file mode 100644 index 0000000..28b6fae --- /dev/null +++ b/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.cxx @@ -0,0 +1,255 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ArrayOfVavailabilityContainedComponents.hxx" + +#include "AvailableType.hxx" + +namespace icalendar_2_0 +{ + // ArrayOfVavailabilityContainedComponents + // + + const ArrayOfVavailabilityContainedComponents::available_sequence& ArrayOfVavailabilityContainedComponents:: + available () const + { + return this->available_; + } + + ArrayOfVavailabilityContainedComponents::available_sequence& ArrayOfVavailabilityContainedComponents:: + available () + { + return this->available_; + } + + void ArrayOfVavailabilityContainedComponents:: + available (const available_sequence& s) + { + this->available_ = s; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // ArrayOfVavailabilityContainedComponents + // + + ArrayOfVavailabilityContainedComponents:: + ArrayOfVavailabilityContainedComponents () + : ::xml_schema::type (), + available_ (this) + { + } + + ArrayOfVavailabilityContainedComponents:: + ArrayOfVavailabilityContainedComponents (const ArrayOfVavailabilityContainedComponents& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + available_ (x.available_, f, this) + { + } + + ArrayOfVavailabilityContainedComponents:: + ArrayOfVavailabilityContainedComponents (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + available_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ArrayOfVavailabilityContainedComponents:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // available + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< available_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< available_type > r ( + dynamic_cast< available_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->available_.push_back (r); + continue; + } + } + + break; + } + } + + ArrayOfVavailabilityContainedComponents* ArrayOfVavailabilityContainedComponents:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ArrayOfVavailabilityContainedComponents (*this, f, c); + } + + ArrayOfVavailabilityContainedComponents& ArrayOfVavailabilityContainedComponents:: + operator= (const ArrayOfVavailabilityContainedComponents& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->available_ = x.available_; + } + + return *this; + } + + ArrayOfVavailabilityContainedComponents:: + ~ArrayOfVavailabilityContainedComponents () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ArrayOfVavailabilityContainedComponents > + _xsd_ArrayOfVavailabilityContainedComponents_type_factory_init ( + "ArrayOfVavailabilityContainedComponents", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const ArrayOfVavailabilityContainedComponents& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // available + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (ArrayOfVavailabilityContainedComponents::available_const_iterator + b (i.available ().begin ()), n (i.available ().end ()); + b != n; ++b) + { + if (typeid (ArrayOfVavailabilityContainedComponents::available_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << *b; + } + else + tsm.serialize ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ArrayOfVavailabilityContainedComponents > + _xsd_ArrayOfVavailabilityContainedComponents_type_serializer_init ( + "ArrayOfVavailabilityContainedComponents", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.hxx b/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.hxx new file mode 100644 index 0000000..274df21 --- /dev/null +++ b/oadrsd/oadrsd/2b/ArrayOfVavailabilityContainedComponents.hxx @@ -0,0 +1,363 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ARRAY_OF_VAVAILABILITY_CONTAINED_COMPONENTS_HXX +#define ARRAY_OF_VAVAILABILITY_CONTAINED_COMPONENTS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class ArrayOfVavailabilityContainedComponents; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class AvailableType; +} + +namespace icalendar_2_0 +{ + class ArrayOfVavailabilityContainedComponents: public ::xml_schema::type + { + public: + // available + // + typedef ::icalendar_2_0::AvailableType available_type; + typedef ::xsd::cxx::tree::sequence< available_type > available_sequence; + typedef available_sequence::iterator available_iterator; + typedef available_sequence::const_iterator available_const_iterator; + typedef ::xsd::cxx::tree::traits< available_type, char > available_traits; + + const available_sequence& + available () const; + + available_sequence& + available (); + + void + available (const available_sequence& s); + + // Constructors. + // + ArrayOfVavailabilityContainedComponents (); + + ArrayOfVavailabilityContainedComponents (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ArrayOfVavailabilityContainedComponents (const ArrayOfVavailabilityContainedComponents& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ArrayOfVavailabilityContainedComponents* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ArrayOfVavailabilityContainedComponents& + operator= (const ArrayOfVavailabilityContainedComponents& x); + + virtual + ~ArrayOfVavailabilityContainedComponents (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + available_sequence available_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const ArrayOfVavailabilityContainedComponents&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ARRAY_OF_VAVAILABILITY_CONTAINED_COMPONENTS_HXX diff --git a/oadrsd/oadrsd/2b/ArrayofResponses.cxx b/oadrsd/oadrsd/2b/ArrayofResponses.cxx new file mode 100644 index 0000000..7b73678 --- /dev/null +++ b/oadrsd/oadrsd/2b/ArrayofResponses.cxx @@ -0,0 +1,267 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ArrayofResponses.hxx" + +#include "EiResponseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ArrayofResponses + // + + const ArrayofResponses::response_sequence& ArrayofResponses:: + response () const + { + return this->response_; + } + + ArrayofResponses::response_sequence& ArrayofResponses:: + response () + { + return this->response_; + } + + void ArrayofResponses:: + response (const response_sequence& s) + { + this->response_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ArrayofResponses + // + + ArrayofResponses:: + ArrayofResponses () + : ::xml_schema::type (), + response_ (this) + { + } + + ArrayofResponses:: + ArrayofResponses (const ArrayofResponses& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + response_ (x.response_, f, this) + { + } + + ArrayofResponses:: + ArrayofResponses (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + response_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ArrayofResponses:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // response + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "response", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< response_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< response_type > r ( + dynamic_cast< response_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->response_.push_back (r); + continue; + } + } + + break; + } + } + + ArrayofResponses* ArrayofResponses:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ArrayofResponses (*this, f, c); + } + + ArrayofResponses& ArrayofResponses:: + operator= (const ArrayofResponses& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->response_ = x.response_; + } + + return *this; + } + + ArrayofResponses:: + ~ArrayofResponses () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ArrayofResponses > + _xsd_ArrayofResponses_type_factory_init ( + "ArrayofResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ArrayofResponses& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // response + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (ArrayofResponses::response_const_iterator + b (i.response ().begin ()), n (i.response ().end ()); + b != n; ++b) + { + if (typeid (ArrayofResponses::response_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "response", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "response", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ArrayofResponses > + _xsd_ArrayofResponses_type_serializer_init ( + "ArrayofResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ArrayofResponses.hxx b/oadrsd/oadrsd/2b/ArrayofResponses.hxx new file mode 100644 index 0000000..96bbb0c --- /dev/null +++ b/oadrsd/oadrsd/2b/ArrayofResponses.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ARRAYOF_RESPONSES_HXX +#define ARRAYOF_RESPONSES_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ArrayofResponses; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ArrayofResponses: public ::xml_schema::type + { + public: + // response + // + typedef ::oadr2b::ei::EiResponseType response_type; + typedef ::xsd::cxx::tree::sequence< response_type > response_sequence; + typedef response_sequence::iterator response_iterator; + typedef response_sequence::const_iterator response_const_iterator; + typedef ::xsd::cxx::tree::traits< response_type, char > response_traits; + + const response_sequence& + response () const; + + response_sequence& + response (); + + void + response (const response_sequence& s); + + // Constructors. + // + ArrayofResponses (); + + ArrayofResponses (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ArrayofResponses (const ArrayofResponses& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ArrayofResponses* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ArrayofResponses& + operator= (const ArrayofResponses& x); + + virtual + ~ArrayofResponses (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + response_sequence response_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ArrayofResponses&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ARRAYOF_RESPONSES_HXX diff --git a/oadrsd/oadrsd/2b/AuthorizationStatus.cxx b/oadrsd/oadrsd/2b/AuthorizationStatus.cxx new file mode 100644 index 0000000..60265d1 --- /dev/null +++ b/oadrsd/oadrsd/2b/AuthorizationStatus.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AuthorizationStatus.hxx" + +namespace espi +{ + // AuthorizationStatus + // + + AuthorizationStatus:: + AuthorizationStatus (const char* s) + : ::xml_schema::string (s) + { + } + + AuthorizationStatus:: + AuthorizationStatus (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + AuthorizationStatus:: + AuthorizationStatus (const AuthorizationStatus& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // AuthorizationStatus + // + + AuthorizationStatus:: + AuthorizationStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + AuthorizationStatus:: + AuthorizationStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + AuthorizationStatus:: + AuthorizationStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + AuthorizationStatus* AuthorizationStatus:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AuthorizationStatus (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, AuthorizationStatus > + _xsd_AuthorizationStatus_type_factory_init ( + "AuthorizationStatus", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const AuthorizationStatus& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const AuthorizationStatus& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const AuthorizationStatus& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, AuthorizationStatus > + _xsd_AuthorizationStatus_type_serializer_init ( + "AuthorizationStatus", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AuthorizationStatus.hxx b/oadrsd/oadrsd/2b/AuthorizationStatus.hxx new file mode 100644 index 0000000..7664cd3 --- /dev/null +++ b/oadrsd/oadrsd/2b/AuthorizationStatus.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef AUTHORIZATION_STATUS_HXX +#define AUTHORIZATION_STATUS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class AuthorizationStatus; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class AuthorizationStatus: public ::xml_schema::string + { + public: + + AuthorizationStatus (const char* v); + + AuthorizationStatus (const ::std::string& v); + + AuthorizationStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus (const AuthorizationStatus& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AuthorizationStatus* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const AuthorizationStatus&); + + void + operator<< (::xercesc::DOMAttr&, const AuthorizationStatus&); + + void + operator<< (::xml_schema::list_stream&, + const AuthorizationStatus&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // AUTHORIZATION_STATUS_HXX diff --git a/oadrsd/oadrsd/2b/AuthorizationStatus_member.cxx b/oadrsd/oadrsd/2b/AuthorizationStatus_member.cxx new file mode 100644 index 0000000..f8bdfc4 --- /dev/null +++ b/oadrsd/oadrsd/2b/AuthorizationStatus_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AuthorizationStatus_member.hxx" + +namespace espi +{ + // AuthorizationStatus_member + // + + AuthorizationStatus_member:: + AuthorizationStatus_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + AuthorizationStatus_member:: + AuthorizationStatus_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + AuthorizationStatus_member:: + AuthorizationStatus_member (const AuthorizationStatus_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // AuthorizationStatus_member + // + + AuthorizationStatus_member:: + AuthorizationStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + AuthorizationStatus_member:: + AuthorizationStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + AuthorizationStatus_member:: + AuthorizationStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + AuthorizationStatus_member* AuthorizationStatus_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AuthorizationStatus_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const AuthorizationStatus_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const AuthorizationStatus_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const AuthorizationStatus_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AuthorizationStatus_member.hxx b/oadrsd/oadrsd/2b/AuthorizationStatus_member.hxx new file mode 100644 index 0000000..75ae60d --- /dev/null +++ b/oadrsd/oadrsd/2b/AuthorizationStatus_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef AUTHORIZATION_STATUS_MEMBER_HXX +#define AUTHORIZATION_STATUS_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class AuthorizationStatus_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class AuthorizationStatus_member: public ::espi::UInt16 + { + public: + AuthorizationStatus_member (::xml_schema::unsigned_short v); + + AuthorizationStatus_member (const ::espi::UInt16& v); + + AuthorizationStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AuthorizationStatus_member (const AuthorizationStatus_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AuthorizationStatus_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const AuthorizationStatus_member&); + + void + operator<< (::xercesc::DOMAttr&, const AuthorizationStatus_member&); + + void + operator<< (::xml_schema::list_stream&, + const AuthorizationStatus_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // AUTHORIZATION_STATUS_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/AvailableType.cxx b/oadrsd/oadrsd/2b/AvailableType.cxx new file mode 100644 index 0000000..4e24ce2 --- /dev/null +++ b/oadrsd/oadrsd/2b/AvailableType.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "AvailableType.hxx" + +#include "properties.hxx" + +namespace icalendar_2_0 +{ + // AvailableType + // + + const AvailableType::properties_type& AvailableType:: + properties () const + { + return this->properties_.get (); + } + + AvailableType::properties_type& AvailableType:: + properties () + { + return this->properties_.get (); + } + + void AvailableType:: + properties (const properties_type& x) + { + this->properties_.set (x); + } + + void AvailableType:: + properties (::std::auto_ptr< properties_type > x) + { + this->properties_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // AvailableType + // + + AvailableType:: + AvailableType (const properties_type& properties) + : ::xml_schema::type (), + properties_ (properties, this) + { + } + + AvailableType:: + AvailableType (::std::auto_ptr< properties_type > properties) + : ::xml_schema::type (), + properties_ (properties, this) + { + } + + AvailableType:: + AvailableType (const AvailableType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + properties_ (x.properties_, f, this) + { + } + + AvailableType:: + AvailableType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + properties_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void AvailableType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // properties + // + if (n.name () == "properties" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< properties_type > r ( + properties_traits::create (i, f, this)); + + if (!properties_.present ()) + { + this->properties_.set (r); + continue; + } + } + + break; + } + + if (!properties_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + AvailableType* AvailableType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class AvailableType (*this, f, c); + } + + AvailableType& AvailableType:: + operator= (const AvailableType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->properties_ = x.properties_; + } + + return *this; + } + + AvailableType:: + ~AvailableType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, AvailableType > + _xsd_AvailableType_type_factory_init ( + "AvailableType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const AvailableType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // properties + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.properties (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, AvailableType > + _xsd_AvailableType_type_serializer_init ( + "AvailableType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/AvailableType.hxx b/oadrsd/oadrsd/2b/AvailableType.hxx new file mode 100644 index 0000000..4f99c01 --- /dev/null +++ b/oadrsd/oadrsd/2b/AvailableType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef AVAILABLE_TYPE_HXX +#define AVAILABLE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class AvailableType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class properties; +} + +namespace icalendar_2_0 +{ + class AvailableType: public ::xml_schema::type + { + public: + // properties + // + typedef ::icalendar_2_0::properties properties_type; + typedef ::xsd::cxx::tree::traits< properties_type, char > properties_traits; + + const properties_type& + properties () const; + + properties_type& + properties (); + + void + properties (const properties_type& x); + + void + properties (::std::auto_ptr< properties_type > p); + + // Constructors. + // + AvailableType (const properties_type&); + + AvailableType (::std::auto_ptr< properties_type >); + + AvailableType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + AvailableType (const AvailableType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual AvailableType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + AvailableType& + operator= (const AvailableType& x); + + virtual + ~AvailableType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< properties_type > properties_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const AvailableType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // AVAILABLE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/BaseUnitType.cxx b/oadrsd/oadrsd/2b/BaseUnitType.cxx new file mode 100644 index 0000000..763c2dc --- /dev/null +++ b/oadrsd/oadrsd/2b/BaseUnitType.cxx @@ -0,0 +1,466 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "BaseUnitType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // BaseUnitType + // + + const BaseUnitType::itemDescription_type& BaseUnitType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + BaseUnitType::itemDescription_type& BaseUnitType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void BaseUnitType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void BaseUnitType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const BaseUnitType::itemUnits_type& BaseUnitType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + BaseUnitType::itemUnits_type& BaseUnitType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void BaseUnitType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void BaseUnitType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const BaseUnitType::siScaleCode_type& BaseUnitType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + BaseUnitType::siScaleCode_type& BaseUnitType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void BaseUnitType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void BaseUnitType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // BaseUnitType + // + + BaseUnitType:: + BaseUnitType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + BaseUnitType:: + BaseUnitType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + BaseUnitType:: + BaseUnitType (const BaseUnitType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + BaseUnitType:: + BaseUnitType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void BaseUnitType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + BaseUnitType* BaseUnitType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class BaseUnitType (*this, f, c); + } + + BaseUnitType& BaseUnitType:: + operator= (const BaseUnitType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + BaseUnitType:: + ~BaseUnitType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, BaseUnitType > + _xsd_BaseUnitType_type_factory_init ( + "BaseUnitType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const BaseUnitType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const BaseUnitType::itemDescription_type& x (i.itemDescription ()); + if (typeid (BaseUnitType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const BaseUnitType::itemUnits_type& x (i.itemUnits ()); + if (typeid (BaseUnitType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const BaseUnitType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (BaseUnitType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, BaseUnitType > + _xsd_BaseUnitType_type_serializer_init ( + "BaseUnitType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/BaseUnitType.hxx b/oadrsd/oadrsd/2b/BaseUnitType.hxx new file mode 100644 index 0000000..fd28cc7 --- /dev/null +++ b/oadrsd/oadrsd/2b/BaseUnitType.hxx @@ -0,0 +1,419 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef BASE_UNIT_TYPE_HXX +#define BASE_UNIT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class BaseUnitType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class BaseUnitType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + BaseUnitType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + BaseUnitType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + BaseUnitType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + BaseUnitType (const BaseUnitType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual BaseUnitType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + BaseUnitType& + operator= (const BaseUnitType& x); + + virtual + ~BaseUnitType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const BaseUnitType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // BASE_UNIT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/BatchItemInfo.cxx b/oadrsd/oadrsd/2b/BatchItemInfo.cxx new file mode 100644 index 0000000..9bba3d6 --- /dev/null +++ b/oadrsd/oadrsd/2b/BatchItemInfo.cxx @@ -0,0 +1,544 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "BatchItemInfo.hxx" + +#include "HexBinary16.hxx" + +#include "CRUDOperation.hxx" + +#include "StatusCode.hxx" + +#include "String256.hxx" + +namespace espi +{ + // BatchItemInfo + // + + const BatchItemInfo::name_optional& BatchItemInfo:: + name () const + { + return this->name_; + } + + BatchItemInfo::name_optional& BatchItemInfo:: + name () + { + return this->name_; + } + + void BatchItemInfo:: + name (const name_type& x) + { + this->name_.set (x); + } + + void BatchItemInfo:: + name (const name_optional& x) + { + this->name_ = x; + } + + void BatchItemInfo:: + name (::std::auto_ptr< name_type > x) + { + this->name_.set (x); + } + + const BatchItemInfo::operation_optional& BatchItemInfo:: + operation () const + { + return this->operation_; + } + + BatchItemInfo::operation_optional& BatchItemInfo:: + operation () + { + return this->operation_; + } + + void BatchItemInfo:: + operation (const operation_type& x) + { + this->operation_.set (x); + } + + void BatchItemInfo:: + operation (const operation_optional& x) + { + this->operation_ = x; + } + + void BatchItemInfo:: + operation (::std::auto_ptr< operation_type > x) + { + this->operation_.set (x); + } + + const BatchItemInfo::statusCode_optional& BatchItemInfo:: + statusCode () const + { + return this->statusCode_; + } + + BatchItemInfo::statusCode_optional& BatchItemInfo:: + statusCode () + { + return this->statusCode_; + } + + void BatchItemInfo:: + statusCode (const statusCode_type& x) + { + this->statusCode_.set (x); + } + + void BatchItemInfo:: + statusCode (const statusCode_optional& x) + { + this->statusCode_ = x; + } + + void BatchItemInfo:: + statusCode (::std::auto_ptr< statusCode_type > x) + { + this->statusCode_.set (x); + } + + const BatchItemInfo::statusReason_optional& BatchItemInfo:: + statusReason () const + { + return this->statusReason_; + } + + BatchItemInfo::statusReason_optional& BatchItemInfo:: + statusReason () + { + return this->statusReason_; + } + + void BatchItemInfo:: + statusReason (const statusReason_type& x) + { + this->statusReason_.set (x); + } + + void BatchItemInfo:: + statusReason (const statusReason_optional& x) + { + this->statusReason_ = x; + } + + void BatchItemInfo:: + statusReason (::std::auto_ptr< statusReason_type > x) + { + this->statusReason_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // BatchItemInfo + // + + BatchItemInfo:: + BatchItemInfo () + : ::espi::Object (), + name_ (this), + operation_ (this), + statusCode_ (this), + statusReason_ (this) + { + } + + BatchItemInfo:: + BatchItemInfo (const BatchItemInfo& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + name_ (x.name_, f, this), + operation_ (x.operation_, f, this), + statusCode_ (x.statusCode_, f, this), + statusReason_ (x.statusReason_, f, this) + { + } + + BatchItemInfo:: + BatchItemInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + name_ (this), + operation_ (this), + statusCode_ (this), + statusReason_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void BatchItemInfo:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // name + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "name", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< name_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->name_) + { + ::std::auto_ptr< name_type > r ( + dynamic_cast< name_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->name_.set (r); + continue; + } + } + } + + // operation + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "operation", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< operation_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->operation_) + { + ::std::auto_ptr< operation_type > r ( + dynamic_cast< operation_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->operation_.set (r); + continue; + } + } + } + + // statusCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "statusCode", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< statusCode_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->statusCode_) + { + ::std::auto_ptr< statusCode_type > r ( + dynamic_cast< statusCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->statusCode_.set (r); + continue; + } + } + } + + // statusReason + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "statusReason", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< statusReason_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->statusReason_) + { + ::std::auto_ptr< statusReason_type > r ( + dynamic_cast< statusReason_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->statusReason_.set (r); + continue; + } + } + } + + break; + } + } + + BatchItemInfo* BatchItemInfo:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class BatchItemInfo (*this, f, c); + } + + BatchItemInfo& BatchItemInfo:: + operator= (const BatchItemInfo& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->name_ = x.name_; + this->operation_ = x.operation_; + this->statusCode_ = x.statusCode_; + this->statusReason_ = x.statusReason_; + } + + return *this; + } + + BatchItemInfo:: + ~BatchItemInfo () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, BatchItemInfo > + _xsd_BatchItemInfo_type_factory_init ( + "BatchItemInfo", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const BatchItemInfo& i) + { + e << static_cast< const ::espi::Object& > (i); + + // name + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.name ()) + { + const BatchItemInfo::name_type& x (*i.name ()); + if (typeid (BatchItemInfo::name_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "name", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "name", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // operation + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.operation ()) + { + const BatchItemInfo::operation_type& x (*i.operation ()); + if (typeid (BatchItemInfo::operation_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "operation", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "operation", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // statusCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.statusCode ()) + { + const BatchItemInfo::statusCode_type& x (*i.statusCode ()); + if (typeid (BatchItemInfo::statusCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "statusCode", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "statusCode", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // statusReason + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.statusReason ()) + { + const BatchItemInfo::statusReason_type& x (*i.statusReason ()); + if (typeid (BatchItemInfo::statusReason_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "statusReason", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "statusReason", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, BatchItemInfo > + _xsd_BatchItemInfo_type_serializer_init ( + "BatchItemInfo", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/BatchItemInfo.hxx b/oadrsd/oadrsd/2b/BatchItemInfo.hxx new file mode 100644 index 0000000..6774ea5 --- /dev/null +++ b/oadrsd/oadrsd/2b/BatchItemInfo.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef BATCH_ITEM_INFO_HXX +#define BATCH_ITEM_INFO_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class BatchItemInfo; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class HexBinary16; +} + +namespace espi +{ + class CRUDOperation; +} + +namespace espi +{ + class StatusCode; +} + +namespace espi +{ + class String256; +} + +namespace espi +{ + class BatchItemInfo: public ::espi::Object + { + public: + // name + // + typedef ::espi::HexBinary16 name_type; + typedef ::xsd::cxx::tree::optional< name_type > name_optional; + typedef ::xsd::cxx::tree::traits< name_type, char > name_traits; + + const name_optional& + name () const; + + name_optional& + name (); + + void + name (const name_type& x); + + void + name (const name_optional& x); + + void + name (::std::auto_ptr< name_type > p); + + // operation + // + typedef ::espi::CRUDOperation operation_type; + typedef ::xsd::cxx::tree::optional< operation_type > operation_optional; + typedef ::xsd::cxx::tree::traits< operation_type, char > operation_traits; + + const operation_optional& + operation () const; + + operation_optional& + operation (); + + void + operation (const operation_type& x); + + void + operation (const operation_optional& x); + + void + operation (::std::auto_ptr< operation_type > p); + + // statusCode + // + typedef ::espi::StatusCode statusCode_type; + typedef ::xsd::cxx::tree::optional< statusCode_type > statusCode_optional; + typedef ::xsd::cxx::tree::traits< statusCode_type, char > statusCode_traits; + + const statusCode_optional& + statusCode () const; + + statusCode_optional& + statusCode (); + + void + statusCode (const statusCode_type& x); + + void + statusCode (const statusCode_optional& x); + + void + statusCode (::std::auto_ptr< statusCode_type > p); + + // statusReason + // + typedef ::espi::String256 statusReason_type; + typedef ::xsd::cxx::tree::optional< statusReason_type > statusReason_optional; + typedef ::xsd::cxx::tree::traits< statusReason_type, char > statusReason_traits; + + const statusReason_optional& + statusReason () const; + + statusReason_optional& + statusReason (); + + void + statusReason (const statusReason_type& x); + + void + statusReason (const statusReason_optional& x); + + void + statusReason (::std::auto_ptr< statusReason_type > p); + + // Constructors. + // + BatchItemInfo (); + + BatchItemInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + BatchItemInfo (const BatchItemInfo& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual BatchItemInfo* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + BatchItemInfo& + operator= (const BatchItemInfo& x); + + virtual + ~BatchItemInfo (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + name_optional name_; + operation_optional operation_; + statusCode_optional statusCode_; + statusReason_optional statusReason_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const BatchItemInfo&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // BATCH_ITEM_INFO_HXX diff --git a/oadrsd/oadrsd/2b/CRUDOperation.cxx b/oadrsd/oadrsd/2b/CRUDOperation.cxx new file mode 100644 index 0000000..1984716 --- /dev/null +++ b/oadrsd/oadrsd/2b/CRUDOperation.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CRUDOperation.hxx" + +namespace espi +{ + // CRUDOperation + // + + CRUDOperation:: + CRUDOperation (const char* s) + : ::xml_schema::string (s) + { + } + + CRUDOperation:: + CRUDOperation (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + CRUDOperation:: + CRUDOperation (const CRUDOperation& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // CRUDOperation + // + + CRUDOperation:: + CRUDOperation (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + CRUDOperation:: + CRUDOperation (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + CRUDOperation:: + CRUDOperation (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + CRUDOperation* CRUDOperation:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CRUDOperation (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CRUDOperation > + _xsd_CRUDOperation_type_factory_init ( + "CRUDOperation", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const CRUDOperation& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const CRUDOperation& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const CRUDOperation& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CRUDOperation > + _xsd_CRUDOperation_type_serializer_init ( + "CRUDOperation", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CRUDOperation.hxx b/oadrsd/oadrsd/2b/CRUDOperation.hxx new file mode 100644 index 0000000..d973eb5 --- /dev/null +++ b/oadrsd/oadrsd/2b/CRUDOperation.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CRUDOPERATION_HXX +#define CRUDOPERATION_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class CRUDOperation; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class CRUDOperation: public ::xml_schema::string + { + public: + + CRUDOperation (const char* v); + + CRUDOperation (const ::std::string& v); + + CRUDOperation (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation (const CRUDOperation& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CRUDOperation* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const CRUDOperation&); + + void + operator<< (::xercesc::DOMAttr&, const CRUDOperation&); + + void + operator<< (::xml_schema::list_stream&, + const CRUDOperation&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CRUDOPERATION_HXX diff --git a/oadrsd/oadrsd/2b/CRUDOperation_member.cxx b/oadrsd/oadrsd/2b/CRUDOperation_member.cxx new file mode 100644 index 0000000..8cc9084 --- /dev/null +++ b/oadrsd/oadrsd/2b/CRUDOperation_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CRUDOperation_member.hxx" + +namespace espi +{ + // CRUDOperation_member + // + + CRUDOperation_member:: + CRUDOperation_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + CRUDOperation_member:: + CRUDOperation_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + CRUDOperation_member:: + CRUDOperation_member (const CRUDOperation_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // CRUDOperation_member + // + + CRUDOperation_member:: + CRUDOperation_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + CRUDOperation_member:: + CRUDOperation_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + CRUDOperation_member:: + CRUDOperation_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + CRUDOperation_member* CRUDOperation_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CRUDOperation_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const CRUDOperation_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const CRUDOperation_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const CRUDOperation_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CRUDOperation_member.hxx b/oadrsd/oadrsd/2b/CRUDOperation_member.hxx new file mode 100644 index 0000000..93d85ff --- /dev/null +++ b/oadrsd/oadrsd/2b/CRUDOperation_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CRUDOPERATION_MEMBER_HXX +#define CRUDOPERATION_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class CRUDOperation_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class CRUDOperation_member: public ::espi::UInt16 + { + public: + CRUDOperation_member (::xml_schema::unsigned_short v); + + CRUDOperation_member (const ::espi::UInt16& v); + + CRUDOperation_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CRUDOperation_member (const CRUDOperation_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CRUDOperation_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const CRUDOperation_member&); + + void + operator<< (::xercesc::DOMAttr&, const CRUDOperation_member&); + + void + operator<< (::xml_schema::list_stream&, + const CRUDOperation_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CRUDOPERATION_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/CanonicalizationMethodType.cxx b/oadrsd/oadrsd/2b/CanonicalizationMethodType.cxx new file mode 100644 index 0000000..12c645a --- /dev/null +++ b/oadrsd/oadrsd/2b/CanonicalizationMethodType.cxx @@ -0,0 +1,250 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CanonicalizationMethodType.hxx" + +namespace oadr2b +{ + namespace sig + { + // CanonicalizationMethodType + // + + const CanonicalizationMethodType::Algorithm_type& CanonicalizationMethodType:: + Algorithm () const + { + return this->Algorithm_.get (); + } + + CanonicalizationMethodType::Algorithm_type& CanonicalizationMethodType:: + Algorithm () + { + return this->Algorithm_.get (); + } + + void CanonicalizationMethodType:: + Algorithm (const Algorithm_type& x) + { + this->Algorithm_.set (x); + } + + void CanonicalizationMethodType:: + Algorithm (::std::auto_ptr< Algorithm_type > x) + { + this->Algorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // CanonicalizationMethodType + // + + CanonicalizationMethodType:: + CanonicalizationMethodType (const Algorithm_type& Algorithm) + : ::xml_schema::type (), + Algorithm_ (Algorithm, this) + { + } + + CanonicalizationMethodType:: + CanonicalizationMethodType (const CanonicalizationMethodType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Algorithm_ (x.Algorithm_, f, this) + { + } + + CanonicalizationMethodType:: + CanonicalizationMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Algorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void CanonicalizationMethodType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Algorithm" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Algorithm_.set (Algorithm_traits::create (i, f, this)); + continue; + } + } + + if (!Algorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + CanonicalizationMethodType* CanonicalizationMethodType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CanonicalizationMethodType (*this, f, c); + } + + CanonicalizationMethodType& CanonicalizationMethodType:: + operator= (const CanonicalizationMethodType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Algorithm_ = x.Algorithm_; + } + + return *this; + } + + CanonicalizationMethodType:: + ~CanonicalizationMethodType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CanonicalizationMethodType > + _xsd_CanonicalizationMethodType_type_factory_init ( + "CanonicalizationMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const CanonicalizationMethodType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Algorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << i.Algorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CanonicalizationMethodType > + _xsd_CanonicalizationMethodType_type_serializer_init ( + "CanonicalizationMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CanonicalizationMethodType.hxx b/oadrsd/oadrsd/2b/CanonicalizationMethodType.hxx new file mode 100644 index 0000000..4574e75 --- /dev/null +++ b/oadrsd/oadrsd/2b/CanonicalizationMethodType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CANONICALIZATION_METHOD_TYPE_HXX +#define CANONICALIZATION_METHOD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class CanonicalizationMethodType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CanonicalizationMethodType: public ::xml_schema::type + { + public: + // Algorithm + // + typedef ::xml_schema::uri Algorithm_type; + typedef ::xsd::cxx::tree::traits< Algorithm_type, char > Algorithm_traits; + + const Algorithm_type& + Algorithm () const; + + Algorithm_type& + Algorithm (); + + void + Algorithm (const Algorithm_type& x); + + void + Algorithm (::std::auto_ptr< Algorithm_type > p); + + // Constructors. + // + CanonicalizationMethodType (const Algorithm_type&); + + CanonicalizationMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CanonicalizationMethodType (const CanonicalizationMethodType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CanonicalizationMethodType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + CanonicalizationMethodType& + operator= (const CanonicalizationMethodType& x); + + virtual + ~CanonicalizationMethodType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Algorithm_type > Algorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const CanonicalizationMethodType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CANONICALIZATION_METHOD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/CharTwoFieldParamsType.cxx b/oadrsd/oadrsd/2b/CharTwoFieldParamsType.cxx new file mode 100644 index 0000000..8e534dc --- /dev/null +++ b/oadrsd/oadrsd/2b/CharTwoFieldParamsType.cxx @@ -0,0 +1,242 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CharTwoFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // CharTwoFieldParamsType + // + + const CharTwoFieldParamsType::M_type& CharTwoFieldParamsType:: + M () const + { + return this->M_.get (); + } + + CharTwoFieldParamsType::M_type& CharTwoFieldParamsType:: + M () + { + return this->M_.get (); + } + + void CharTwoFieldParamsType:: + M (const M_type& x) + { + this->M_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // CharTwoFieldParamsType + // + + CharTwoFieldParamsType:: + CharTwoFieldParamsType (const M_type& M) + : ::xml_schema::type (), + M_ (M, this) + { + } + + CharTwoFieldParamsType:: + CharTwoFieldParamsType (const CharTwoFieldParamsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + M_ (x.M_, f, this) + { + } + + CharTwoFieldParamsType:: + CharTwoFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + M_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void CharTwoFieldParamsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // M + // + if (n.name () == "M" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!M_.present ()) + { + this->M_.set (M_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!M_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "M", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + CharTwoFieldParamsType* CharTwoFieldParamsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CharTwoFieldParamsType (*this, f, c); + } + + CharTwoFieldParamsType& CharTwoFieldParamsType:: + operator= (const CharTwoFieldParamsType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->M_ = x.M_; + } + + return *this; + } + + CharTwoFieldParamsType:: + ~CharTwoFieldParamsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CharTwoFieldParamsType > + _xsd_CharTwoFieldParamsType_type_factory_init ( + "CharTwoFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const CharTwoFieldParamsType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // M + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "M", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << i.M (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CharTwoFieldParamsType > + _xsd_CharTwoFieldParamsType_type_serializer_init ( + "CharTwoFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CharTwoFieldParamsType.hxx b/oadrsd/oadrsd/2b/CharTwoFieldParamsType.hxx new file mode 100644 index 0000000..9e440d8 --- /dev/null +++ b/oadrsd/oadrsd/2b/CharTwoFieldParamsType.hxx @@ -0,0 +1,367 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CHAR_TWO_FIELD_PARAMS_TYPE_HXX +#define CHAR_TWO_FIELD_PARAMS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class CharTwoFieldParamsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class CharTwoFieldParamsType: public ::xml_schema::type + { + public: + // M + // + typedef ::xml_schema::positive_integer M_type; + typedef ::xsd::cxx::tree::traits< M_type, char > M_traits; + + const M_type& + M () const; + + M_type& + M (); + + void + M (const M_type& x); + + // Constructors. + // + CharTwoFieldParamsType (const M_type&); + + CharTwoFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CharTwoFieldParamsType (const CharTwoFieldParamsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CharTwoFieldParamsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + CharTwoFieldParamsType& + operator= (const CharTwoFieldParamsType& x); + + virtual + ~CharTwoFieldParamsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< M_type > M_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const CharTwoFieldParamsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CHAR_TWO_FIELD_PARAMS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/CommodityKind.cxx b/oadrsd/oadrsd/2b/CommodityKind.cxx new file mode 100644 index 0000000..1620476 --- /dev/null +++ b/oadrsd/oadrsd/2b/CommodityKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CommodityKind.hxx" + +namespace espi +{ + // CommodityKind + // + + CommodityKind:: + CommodityKind (const char* s) + : ::xml_schema::string (s) + { + } + + CommodityKind:: + CommodityKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + CommodityKind:: + CommodityKind (const CommodityKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // CommodityKind + // + + CommodityKind:: + CommodityKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + CommodityKind:: + CommodityKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + CommodityKind:: + CommodityKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + CommodityKind* CommodityKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CommodityKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CommodityKind > + _xsd_CommodityKind_type_factory_init ( + "CommodityKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const CommodityKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const CommodityKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const CommodityKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CommodityKind > + _xsd_CommodityKind_type_serializer_init ( + "CommodityKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CommodityKind.hxx b/oadrsd/oadrsd/2b/CommodityKind.hxx new file mode 100644 index 0000000..7896b26 --- /dev/null +++ b/oadrsd/oadrsd/2b/CommodityKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef COMMODITY_KIND_HXX +#define COMMODITY_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class CommodityKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class CommodityKind: public ::xml_schema::string + { + public: + + CommodityKind (const char* v); + + CommodityKind (const ::std::string& v); + + CommodityKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind (const CommodityKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CommodityKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const CommodityKind&); + + void + operator<< (::xercesc::DOMAttr&, const CommodityKind&); + + void + operator<< (::xml_schema::list_stream&, + const CommodityKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // COMMODITY_KIND_HXX diff --git a/oadrsd/oadrsd/2b/CommodityKind_member.cxx b/oadrsd/oadrsd/2b/CommodityKind_member.cxx new file mode 100644 index 0000000..d87e4b3 --- /dev/null +++ b/oadrsd/oadrsd/2b/CommodityKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CommodityKind_member.hxx" + +namespace espi +{ + // CommodityKind_member + // + + CommodityKind_member:: + CommodityKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + CommodityKind_member:: + CommodityKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + CommodityKind_member:: + CommodityKind_member (const CommodityKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // CommodityKind_member + // + + CommodityKind_member:: + CommodityKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + CommodityKind_member:: + CommodityKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + CommodityKind_member:: + CommodityKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + CommodityKind_member* CommodityKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CommodityKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const CommodityKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const CommodityKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const CommodityKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CommodityKind_member.hxx b/oadrsd/oadrsd/2b/CommodityKind_member.hxx new file mode 100644 index 0000000..67108b5 --- /dev/null +++ b/oadrsd/oadrsd/2b/CommodityKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef COMMODITY_KIND_MEMBER_HXX +#define COMMODITY_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class CommodityKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class CommodityKind_member: public ::espi::UInt16 + { + public: + CommodityKind_member (::xml_schema::unsigned_short v); + + CommodityKind_member (const ::espi::UInt16& v); + + CommodityKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CommodityKind_member (const CommodityKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CommodityKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const CommodityKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const CommodityKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const CommodityKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // COMMODITY_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/ConfidenceType.cxx b/oadrsd/oadrsd/2b/ConfidenceType.cxx new file mode 100644 index 0000000..9f791ed --- /dev/null +++ b/oadrsd/oadrsd/2b/ConfidenceType.cxx @@ -0,0 +1,190 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ConfidenceType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ConfidenceType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ConfidenceType + // + + ConfidenceType:: + ConfidenceType (const ::xml_schema::unsigned_int& _xsd_unsigned_int_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (_xsd_unsigned_int_base) + { + } + + ConfidenceType:: + ConfidenceType (const ConfidenceType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (x, f, c) + { + } + + ConfidenceType:: + ConfidenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (e, f, c) + { + } + + ConfidenceType:: + ConfidenceType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (a, f, c) + { + } + + ConfidenceType:: + ConfidenceType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + ConfidenceType* ConfidenceType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ConfidenceType (*this, f, c); + } + + ConfidenceType:: + ~ConfidenceType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ConfidenceType > + _xsd_ConfidenceType_type_factory_init ( + "ConfidenceType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ConfidenceType& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ConfidenceType& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ConfidenceType& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ConfidenceType > + _xsd_ConfidenceType_type_serializer_init ( + "ConfidenceType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ConfidenceType.hxx b/oadrsd/oadrsd/2b/ConfidenceType.hxx new file mode 100644 index 0000000..01da6ab --- /dev/null +++ b/oadrsd/oadrsd/2b/ConfidenceType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CONFIDENCE_TYPE_HXX +#define CONFIDENCE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ConfidenceType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ConfidenceType: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + ConfidenceType (const ::xml_schema::unsigned_int&); + + ConfidenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ConfidenceType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ConfidenceType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ConfidenceType (const ConfidenceType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ConfidenceType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~ConfidenceType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ConfidenceType&); + + void + operator<< (::xercesc::DOMAttr&, const ConfidenceType&); + + void + operator<< (::xml_schema::list_stream&, + const ConfidenceType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CONFIDENCE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/CryptoBinary.cxx b/oadrsd/oadrsd/2b/CryptoBinary.cxx new file mode 100644 index 0000000..e9136ab --- /dev/null +++ b/oadrsd/oadrsd/2b/CryptoBinary.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace sig + { + // CryptoBinary + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // CryptoBinary + // + + CryptoBinary:: + CryptoBinary () + : ::xml_schema::base64_binary () + { + } + + CryptoBinary:: + CryptoBinary (const ::xml_schema::base64_binary& _xsd_base64_binary_base) + : ::xml_schema::base64_binary (_xsd_base64_binary_base) + { + } + + CryptoBinary:: + CryptoBinary (const CryptoBinary& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (x, f, c) + { + } + + CryptoBinary:: + CryptoBinary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (e, f, c) + { + } + + CryptoBinary:: + CryptoBinary (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (a, f, c) + { + } + + CryptoBinary:: + CryptoBinary (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (s, e, f, c) + { + } + + CryptoBinary* CryptoBinary:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CryptoBinary (*this, f, c); + } + + CryptoBinary:: + ~CryptoBinary () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CryptoBinary > + _xsd_CryptoBinary_type_factory_init ( + "CryptoBinary", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const CryptoBinary& i) + { + e << static_cast< const ::xml_schema::base64_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const CryptoBinary& i) + { + a << static_cast< const ::xml_schema::base64_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const CryptoBinary& i) + { + l << static_cast< const ::xml_schema::base64_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CryptoBinary > + _xsd_CryptoBinary_type_serializer_init ( + "CryptoBinary", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CryptoBinary.hxx b/oadrsd/oadrsd/2b/CryptoBinary.hxx new file mode 100644 index 0000000..3eec95b --- /dev/null +++ b/oadrsd/oadrsd/2b/CryptoBinary.hxx @@ -0,0 +1,358 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CRYPTO_BINARY_HXX +#define CRYPTO_BINARY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary: public ::xml_schema::base64_binary + { + public: + // Constructors. + // + CryptoBinary (); + + CryptoBinary (const ::xml_schema::base64_binary&); + + CryptoBinary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CryptoBinary (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CryptoBinary (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CryptoBinary (const CryptoBinary& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CryptoBinary* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~CryptoBinary (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const CryptoBinary&); + + void + operator<< (::xercesc::DOMAttr&, const CryptoBinary&); + + void + operator<< (::xml_schema::list_stream&, + const CryptoBinary&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CRYPTO_BINARY_HXX diff --git a/oadrsd/oadrsd/2b/Currency.cxx b/oadrsd/oadrsd/2b/Currency.cxx new file mode 100644 index 0000000..6368603 --- /dev/null +++ b/oadrsd/oadrsd/2b/Currency.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Currency.hxx" + +namespace espi +{ + // Currency + // + + Currency:: + Currency (const char* s) + : ::xml_schema::string (s) + { + } + + Currency:: + Currency (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + Currency:: + Currency (const Currency& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // Currency + // + + Currency:: + Currency (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + Currency:: + Currency (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + Currency:: + Currency (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + Currency* Currency:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Currency (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, Currency > + _xsd_Currency_type_factory_init ( + "Currency", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const Currency& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Currency& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const Currency& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, Currency > + _xsd_Currency_type_serializer_init ( + "Currency", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Currency.hxx b/oadrsd/oadrsd/2b/Currency.hxx new file mode 100644 index 0000000..3e8e521 --- /dev/null +++ b/oadrsd/oadrsd/2b/Currency.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENCY_HXX +#define CURRENCY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class Currency; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class Currency: public ::xml_schema::string + { + public: + + Currency (const char* v); + + Currency (const ::std::string& v); + + Currency (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency (const Currency& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Currency* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const Currency&); + + void + operator<< (::xercesc::DOMAttr&, const Currency&); + + void + operator<< (::xml_schema::list_stream&, + const Currency&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENCY_HXX diff --git a/oadrsd/oadrsd/2b/Currency_member.cxx b/oadrsd/oadrsd/2b/Currency_member.cxx new file mode 100644 index 0000000..f090e92 --- /dev/null +++ b/oadrsd/oadrsd/2b/Currency_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Currency_member.hxx" + +namespace espi +{ + // Currency_member + // + + Currency_member:: + Currency_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + Currency_member:: + Currency_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + Currency_member:: + Currency_member (const Currency_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // Currency_member + // + + Currency_member:: + Currency_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + Currency_member:: + Currency_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + Currency_member:: + Currency_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + Currency_member* Currency_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Currency_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const Currency_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Currency_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const Currency_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Currency_member.hxx b/oadrsd/oadrsd/2b/Currency_member.hxx new file mode 100644 index 0000000..d9d7db8 --- /dev/null +++ b/oadrsd/oadrsd/2b/Currency_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENCY_MEMBER_HXX +#define CURRENCY_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class Currency_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class Currency_member: public ::espi::UInt16 + { + public: + Currency_member (::xml_schema::unsigned_short v); + + Currency_member (const ::espi::UInt16& v); + + Currency_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Currency_member (const Currency_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Currency_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const Currency_member&); + + void + operator<< (::xercesc::DOMAttr&, const Currency_member&); + + void + operator<< (::xml_schema::list_stream&, + const Currency_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENCY_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/CurrentType.cxx b/oadrsd/oadrsd/2b/CurrentType.cxx new file mode 100644 index 0000000..917176f --- /dev/null +++ b/oadrsd/oadrsd/2b/CurrentType.cxx @@ -0,0 +1,484 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CurrentType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // CurrentType + // + + const CurrentType::itemDescription_type& CurrentType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + CurrentType::itemDescription_type& CurrentType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void CurrentType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void CurrentType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const CurrentType::itemDescription_type& CurrentType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const CurrentType::itemUnits_type& CurrentType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + CurrentType::itemUnits_type& CurrentType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void CurrentType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void CurrentType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const CurrentType::itemUnits_type& CurrentType:: + itemUnits_default_value () + { + return itemUnits_default_value_; + } + + const CurrentType::siScaleCode_type& CurrentType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + CurrentType::siScaleCode_type& CurrentType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void CurrentType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void CurrentType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // CurrentType + // + + const CurrentType::itemDescription_type CurrentType::itemDescription_default_value_ ( + "Current"); + + const CurrentType::itemUnits_type CurrentType::itemUnits_default_value_ ( + "A"); + + CurrentType:: + CurrentType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + CurrentType:: + CurrentType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + CurrentType:: + CurrentType (const CurrentType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + CurrentType:: + CurrentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void CurrentType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + CurrentType* CurrentType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CurrentType (*this, f, c); + } + + CurrentType& CurrentType:: + operator= (const CurrentType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + CurrentType:: + ~CurrentType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CurrentType > + _xsd_CurrentType_type_factory_init ( + "CurrentType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const CurrentType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const CurrentType::itemDescription_type& x (i.itemDescription ()); + if (typeid (CurrentType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const CurrentType::itemUnits_type& x (i.itemUnits ()); + if (typeid (CurrentType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const CurrentType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (CurrentType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CurrentType > + _xsd_CurrentType_type_serializer_init ( + "CurrentType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CurrentType.hxx b/oadrsd/oadrsd/2b/CurrentType.hxx new file mode 100644 index 0000000..452a528 --- /dev/null +++ b/oadrsd/oadrsd/2b/CurrentType.hxx @@ -0,0 +1,427 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENT_TYPE_HXX +#define CURRENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class CurrentType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class CurrentType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + static const itemUnits_type& + itemUnits_default_value (); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + CurrentType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + CurrentType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + CurrentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CurrentType (const CurrentType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CurrentType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + CurrentType& + operator= (const CurrentType& x); + + virtual + ~CurrentType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + static const itemUnits_type itemUnits_default_value_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const CurrentType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/CurveType.cxx b/oadrsd/oadrsd/2b/CurveType.cxx new file mode 100644 index 0000000..15d0974 --- /dev/null +++ b/oadrsd/oadrsd/2b/CurveType.cxx @@ -0,0 +1,376 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "CurveType.hxx" + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // CurveType + // + + const CurveType::A_type& CurveType:: + A () const + { + return this->A_.get (); + } + + CurveType::A_type& CurveType:: + A () + { + return this->A_.get (); + } + + void CurveType:: + A (const A_type& x) + { + this->A_.set (x); + } + + void CurveType:: + A (::std::auto_ptr< A_type > x) + { + this->A_.set (x); + } + + const CurveType::B_type& CurveType:: + B () const + { + return this->B_.get (); + } + + CurveType::B_type& CurveType:: + B () + { + return this->B_.get (); + } + + void CurveType:: + B (const B_type& x) + { + this->B_.set (x); + } + + void CurveType:: + B (::std::auto_ptr< B_type > x) + { + this->B_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // CurveType + // + + CurveType:: + CurveType (const A_type& A, + const B_type& B) + : ::xml_schema::type (), + A_ (A, this), + B_ (B, this) + { + } + + CurveType:: + CurveType (::std::auto_ptr< A_type > A, + ::std::auto_ptr< B_type > B) + : ::xml_schema::type (), + A_ (A, this), + B_ (B, this) + { + } + + CurveType:: + CurveType (const CurveType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + A_ (x.A_, f, this), + B_ (x.B_, f, this) + { + } + + CurveType:: + CurveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + A_ (this), + B_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void CurveType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // A + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "A", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< A_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!A_.present ()) + { + ::std::auto_ptr< A_type > r ( + dynamic_cast< A_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->A_.set (r); + continue; + } + } + } + + // B + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "B", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< B_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!B_.present ()) + { + ::std::auto_ptr< B_type > r ( + dynamic_cast< B_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->B_.set (r); + continue; + } + } + } + + break; + } + + if (!A_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "A", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!B_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "B", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + CurveType* CurveType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class CurveType (*this, f, c); + } + + CurveType& CurveType:: + operator= (const CurveType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->A_ = x.A_; + this->B_ = x.B_; + } + + return *this; + } + + CurveType:: + ~CurveType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, CurveType > + _xsd_CurveType_type_factory_init ( + "CurveType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const CurveType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // A + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const CurveType::A_type& x (i.A ()); + if (typeid (CurveType::A_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "A", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "A", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // B + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const CurveType::B_type& x (i.B ()); + if (typeid (CurveType::B_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "B", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "B", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, CurveType > + _xsd_CurveType_type_serializer_init ( + "CurveType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/CurveType.hxx b/oadrsd/oadrsd/2b/CurveType.hxx new file mode 100644 index 0000000..f7fdec7 --- /dev/null +++ b/oadrsd/oadrsd/2b/CurveType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURVE_TYPE_HXX +#define CURVE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class CurveType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class CurveType: public ::xml_schema::type + { + public: + // A + // + typedef ::oadr2b::sig::CryptoBinary A_type; + typedef ::xsd::cxx::tree::traits< A_type, char > A_traits; + + const A_type& + A () const; + + A_type& + A (); + + void + A (const A_type& x); + + void + A (::std::auto_ptr< A_type > p); + + // B + // + typedef ::oadr2b::sig::CryptoBinary B_type; + typedef ::xsd::cxx::tree::traits< B_type, char > B_traits; + + const B_type& + B () const; + + B_type& + B (); + + void + B (const B_type& x); + + void + B (::std::auto_ptr< B_type > p); + + // Constructors. + // + CurveType (const A_type&, + const B_type&); + + CurveType (::std::auto_ptr< A_type >, + ::std::auto_ptr< B_type >); + + CurveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + CurveType (const CurveType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual CurveType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + CurveType& + operator= (const CurveType& x); + + virtual + ~CurveType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< A_type > A_; + ::xsd::cxx::tree::one< B_type > B_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const CurveType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURVE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DEREncodedKeyValueType.cxx b/oadrsd/oadrsd/2b/DEREncodedKeyValueType.cxx new file mode 100644 index 0000000..f32c9fb --- /dev/null +++ b/oadrsd/oadrsd/2b/DEREncodedKeyValueType.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DEREncodedKeyValueType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // DEREncodedKeyValueType + // + + const DEREncodedKeyValueType::Id_optional& DEREncodedKeyValueType:: + Id () const + { + return this->Id_; + } + + DEREncodedKeyValueType::Id_optional& DEREncodedKeyValueType:: + Id () + { + return this->Id_; + } + + void DEREncodedKeyValueType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void DEREncodedKeyValueType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void DEREncodedKeyValueType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // DEREncodedKeyValueType + // + + DEREncodedKeyValueType:: + DEREncodedKeyValueType () + : ::xml_schema::base64_binary (), + Id_ (this) + { + } + + DEREncodedKeyValueType:: + DEREncodedKeyValueType (const ::xml_schema::base64_binary& _xsd_base64_binary_base) + : ::xml_schema::base64_binary (_xsd_base64_binary_base), + Id_ (this) + { + } + + DEREncodedKeyValueType:: + DEREncodedKeyValueType (const DEREncodedKeyValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (x, f, c), + Id_ (x.Id_, f, this) + { + } + + DEREncodedKeyValueType:: + DEREncodedKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (e, f | ::xml_schema::flags::base, c), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void DEREncodedKeyValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + DEREncodedKeyValueType* DEREncodedKeyValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DEREncodedKeyValueType (*this, f, c); + } + + DEREncodedKeyValueType& DEREncodedKeyValueType:: + operator= (const DEREncodedKeyValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::base64_binary& > (*this) = x; + this->Id_ = x.Id_; + } + + return *this; + } + + DEREncodedKeyValueType:: + ~DEREncodedKeyValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DEREncodedKeyValueType > + _xsd_DEREncodedKeyValueType_type_factory_init ( + "DEREncodedKeyValueType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const DEREncodedKeyValueType& i) + { + e << static_cast< const ::xml_schema::base64_binary& > (i); + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DEREncodedKeyValueType > + _xsd_DEREncodedKeyValueType_type_serializer_init ( + "DEREncodedKeyValueType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DEREncodedKeyValueType.hxx b/oadrsd/oadrsd/2b/DEREncodedKeyValueType.hxx new file mode 100644 index 0000000..fdcdebf --- /dev/null +++ b/oadrsd/oadrsd/2b/DEREncodedKeyValueType.hxx @@ -0,0 +1,376 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DERENCODED_KEY_VALUE_TYPE_HXX +#define DERENCODED_KEY_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class DEREncodedKeyValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class DEREncodedKeyValueType: public ::xml_schema::base64_binary + { + public: + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + DEREncodedKeyValueType (); + + DEREncodedKeyValueType (const ::xml_schema::base64_binary&); + + DEREncodedKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DEREncodedKeyValueType (const DEREncodedKeyValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DEREncodedKeyValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + DEREncodedKeyValueType& + operator= (const DEREncodedKeyValueType& x); + + virtual + ~DEREncodedKeyValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const DEREncodedKeyValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DERENCODED_KEY_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DSAKeyValueType.cxx b/oadrsd/oadrsd/2b/DSAKeyValueType.cxx new file mode 100644 index 0000000..32f84db --- /dev/null +++ b/oadrsd/oadrsd/2b/DSAKeyValueType.cxx @@ -0,0 +1,826 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DSAKeyValueType.hxx" + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace sig + { + // DSAKeyValueType + // + + const DSAKeyValueType::P_optional& DSAKeyValueType:: + P () const + { + return this->P_; + } + + DSAKeyValueType::P_optional& DSAKeyValueType:: + P () + { + return this->P_; + } + + void DSAKeyValueType:: + P (const P_type& x) + { + this->P_.set (x); + } + + void DSAKeyValueType:: + P (const P_optional& x) + { + this->P_ = x; + } + + void DSAKeyValueType:: + P (::std::auto_ptr< P_type > x) + { + this->P_.set (x); + } + + const DSAKeyValueType::Q_optional& DSAKeyValueType:: + Q () const + { + return this->Q_; + } + + DSAKeyValueType::Q_optional& DSAKeyValueType:: + Q () + { + return this->Q_; + } + + void DSAKeyValueType:: + Q (const Q_type& x) + { + this->Q_.set (x); + } + + void DSAKeyValueType:: + Q (const Q_optional& x) + { + this->Q_ = x; + } + + void DSAKeyValueType:: + Q (::std::auto_ptr< Q_type > x) + { + this->Q_.set (x); + } + + const DSAKeyValueType::G_optional& DSAKeyValueType:: + G () const + { + return this->G_; + } + + DSAKeyValueType::G_optional& DSAKeyValueType:: + G () + { + return this->G_; + } + + void DSAKeyValueType:: + G (const G_type& x) + { + this->G_.set (x); + } + + void DSAKeyValueType:: + G (const G_optional& x) + { + this->G_ = x; + } + + void DSAKeyValueType:: + G (::std::auto_ptr< G_type > x) + { + this->G_.set (x); + } + + const DSAKeyValueType::Y_type& DSAKeyValueType:: + Y () const + { + return this->Y_.get (); + } + + DSAKeyValueType::Y_type& DSAKeyValueType:: + Y () + { + return this->Y_.get (); + } + + void DSAKeyValueType:: + Y (const Y_type& x) + { + this->Y_.set (x); + } + + void DSAKeyValueType:: + Y (::std::auto_ptr< Y_type > x) + { + this->Y_.set (x); + } + + const DSAKeyValueType::J_optional& DSAKeyValueType:: + J () const + { + return this->J_; + } + + DSAKeyValueType::J_optional& DSAKeyValueType:: + J () + { + return this->J_; + } + + void DSAKeyValueType:: + J (const J_type& x) + { + this->J_.set (x); + } + + void DSAKeyValueType:: + J (const J_optional& x) + { + this->J_ = x; + } + + void DSAKeyValueType:: + J (::std::auto_ptr< J_type > x) + { + this->J_.set (x); + } + + const DSAKeyValueType::Seed_optional& DSAKeyValueType:: + Seed () const + { + return this->Seed_; + } + + DSAKeyValueType::Seed_optional& DSAKeyValueType:: + Seed () + { + return this->Seed_; + } + + void DSAKeyValueType:: + Seed (const Seed_type& x) + { + this->Seed_.set (x); + } + + void DSAKeyValueType:: + Seed (const Seed_optional& x) + { + this->Seed_ = x; + } + + void DSAKeyValueType:: + Seed (::std::auto_ptr< Seed_type > x) + { + this->Seed_.set (x); + } + + const DSAKeyValueType::PgenCounter_optional& DSAKeyValueType:: + PgenCounter () const + { + return this->PgenCounter_; + } + + DSAKeyValueType::PgenCounter_optional& DSAKeyValueType:: + PgenCounter () + { + return this->PgenCounter_; + } + + void DSAKeyValueType:: + PgenCounter (const PgenCounter_type& x) + { + this->PgenCounter_.set (x); + } + + void DSAKeyValueType:: + PgenCounter (const PgenCounter_optional& x) + { + this->PgenCounter_ = x; + } + + void DSAKeyValueType:: + PgenCounter (::std::auto_ptr< PgenCounter_type > x) + { + this->PgenCounter_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // DSAKeyValueType + // + + DSAKeyValueType:: + DSAKeyValueType (const Y_type& Y) + : ::xml_schema::type (), + P_ (this), + Q_ (this), + G_ (this), + Y_ (Y, this), + J_ (this), + Seed_ (this), + PgenCounter_ (this) + { + } + + DSAKeyValueType:: + DSAKeyValueType (::std::auto_ptr< Y_type > Y) + : ::xml_schema::type (), + P_ (this), + Q_ (this), + G_ (this), + Y_ (Y, this), + J_ (this), + Seed_ (this), + PgenCounter_ (this) + { + } + + DSAKeyValueType:: + DSAKeyValueType (const DSAKeyValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + P_ (x.P_, f, this), + Q_ (x.Q_, f, this), + G_ (x.G_, f, this), + Y_ (x.Y_, f, this), + J_ (x.J_, f, this), + Seed_ (x.Seed_, f, this), + PgenCounter_ (x.PgenCounter_, f, this) + { + } + + DSAKeyValueType:: + DSAKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + P_ (this), + Q_ (this), + G_ (this), + Y_ (this), + J_ (this), + Seed_ (this), + PgenCounter_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void DSAKeyValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // P + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "P", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< P_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->P_) + { + ::std::auto_ptr< P_type > r ( + dynamic_cast< P_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->P_.set (r); + continue; + } + } + } + + // Q + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Q", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Q_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Q_) + { + ::std::auto_ptr< Q_type > r ( + dynamic_cast< Q_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Q_.set (r); + continue; + } + } + } + + // G + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "G", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< G_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->G_) + { + ::std::auto_ptr< G_type > r ( + dynamic_cast< G_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->G_.set (r); + continue; + } + } + } + + // Y + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Y", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Y_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Y_.present ()) + { + ::std::auto_ptr< Y_type > r ( + dynamic_cast< Y_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Y_.set (r); + continue; + } + } + } + + // J + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "J", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< J_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->J_) + { + ::std::auto_ptr< J_type > r ( + dynamic_cast< J_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->J_.set (r); + continue; + } + } + } + + // Seed + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Seed", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Seed_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Seed_) + { + ::std::auto_ptr< Seed_type > r ( + dynamic_cast< Seed_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Seed_.set (r); + continue; + } + } + } + + // PgenCounter + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PgenCounter", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< PgenCounter_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->PgenCounter_) + { + ::std::auto_ptr< PgenCounter_type > r ( + dynamic_cast< PgenCounter_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PgenCounter_.set (r); + continue; + } + } + } + + break; + } + + if (!Y_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Y", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + DSAKeyValueType* DSAKeyValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DSAKeyValueType (*this, f, c); + } + + DSAKeyValueType& DSAKeyValueType:: + operator= (const DSAKeyValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->P_ = x.P_; + this->Q_ = x.Q_; + this->G_ = x.G_; + this->Y_ = x.Y_; + this->J_ = x.J_; + this->Seed_ = x.Seed_; + this->PgenCounter_ = x.PgenCounter_; + } + + return *this; + } + + DSAKeyValueType:: + ~DSAKeyValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DSAKeyValueType > + _xsd_DSAKeyValueType_type_factory_init ( + "DSAKeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const DSAKeyValueType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // P + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.P ()) + { + const DSAKeyValueType::P_type& x (*i.P ()); + if (typeid (DSAKeyValueType::P_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "P", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "P", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // Q + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Q ()) + { + const DSAKeyValueType::Q_type& x (*i.Q ()); + if (typeid (DSAKeyValueType::Q_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Q", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Q", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // G + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.G ()) + { + const DSAKeyValueType::G_type& x (*i.G ()); + if (typeid (DSAKeyValueType::G_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "G", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "G", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // Y + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const DSAKeyValueType::Y_type& x (i.Y ()); + if (typeid (DSAKeyValueType::Y_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Y", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Y", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + + // J + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.J ()) + { + const DSAKeyValueType::J_type& x (*i.J ()); + if (typeid (DSAKeyValueType::J_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "J", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "J", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // Seed + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Seed ()) + { + const DSAKeyValueType::Seed_type& x (*i.Seed ()); + if (typeid (DSAKeyValueType::Seed_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Seed", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Seed", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // PgenCounter + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.PgenCounter ()) + { + const DSAKeyValueType::PgenCounter_type& x (*i.PgenCounter ()); + if (typeid (DSAKeyValueType::PgenCounter_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PgenCounter", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "PgenCounter", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DSAKeyValueType > + _xsd_DSAKeyValueType_type_serializer_init ( + "DSAKeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DSAKeyValueType.hxx b/oadrsd/oadrsd/2b/DSAKeyValueType.hxx new file mode 100644 index 0000000..29e6eee --- /dev/null +++ b/oadrsd/oadrsd/2b/DSAKeyValueType.hxx @@ -0,0 +1,512 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DSAKEY_VALUE_TYPE_HXX +#define DSAKEY_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class DSAKeyValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace sig + { + class DSAKeyValueType: public ::xml_schema::type + { + public: + // P + // + typedef ::oadr2b::sig::CryptoBinary P_type; + typedef ::xsd::cxx::tree::optional< P_type > P_optional; + typedef ::xsd::cxx::tree::traits< P_type, char > P_traits; + + const P_optional& + P () const; + + P_optional& + P (); + + void + P (const P_type& x); + + void + P (const P_optional& x); + + void + P (::std::auto_ptr< P_type > p); + + // Q + // + typedef ::oadr2b::sig::CryptoBinary Q_type; + typedef ::xsd::cxx::tree::optional< Q_type > Q_optional; + typedef ::xsd::cxx::tree::traits< Q_type, char > Q_traits; + + const Q_optional& + Q () const; + + Q_optional& + Q (); + + void + Q (const Q_type& x); + + void + Q (const Q_optional& x); + + void + Q (::std::auto_ptr< Q_type > p); + + // G + // + typedef ::oadr2b::sig::CryptoBinary G_type; + typedef ::xsd::cxx::tree::optional< G_type > G_optional; + typedef ::xsd::cxx::tree::traits< G_type, char > G_traits; + + const G_optional& + G () const; + + G_optional& + G (); + + void + G (const G_type& x); + + void + G (const G_optional& x); + + void + G (::std::auto_ptr< G_type > p); + + // Y + // + typedef ::oadr2b::sig::CryptoBinary Y_type; + typedef ::xsd::cxx::tree::traits< Y_type, char > Y_traits; + + const Y_type& + Y () const; + + Y_type& + Y (); + + void + Y (const Y_type& x); + + void + Y (::std::auto_ptr< Y_type > p); + + // J + // + typedef ::oadr2b::sig::CryptoBinary J_type; + typedef ::xsd::cxx::tree::optional< J_type > J_optional; + typedef ::xsd::cxx::tree::traits< J_type, char > J_traits; + + const J_optional& + J () const; + + J_optional& + J (); + + void + J (const J_type& x); + + void + J (const J_optional& x); + + void + J (::std::auto_ptr< J_type > p); + + // Seed + // + typedef ::oadr2b::sig::CryptoBinary Seed_type; + typedef ::xsd::cxx::tree::optional< Seed_type > Seed_optional; + typedef ::xsd::cxx::tree::traits< Seed_type, char > Seed_traits; + + const Seed_optional& + Seed () const; + + Seed_optional& + Seed (); + + void + Seed (const Seed_type& x); + + void + Seed (const Seed_optional& x); + + void + Seed (::std::auto_ptr< Seed_type > p); + + // PgenCounter + // + typedef ::oadr2b::sig::CryptoBinary PgenCounter_type; + typedef ::xsd::cxx::tree::optional< PgenCounter_type > PgenCounter_optional; + typedef ::xsd::cxx::tree::traits< PgenCounter_type, char > PgenCounter_traits; + + const PgenCounter_optional& + PgenCounter () const; + + PgenCounter_optional& + PgenCounter (); + + void + PgenCounter (const PgenCounter_type& x); + + void + PgenCounter (const PgenCounter_optional& x); + + void + PgenCounter (::std::auto_ptr< PgenCounter_type > p); + + // Constructors. + // + DSAKeyValueType (const Y_type&); + + DSAKeyValueType (::std::auto_ptr< Y_type >); + + DSAKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DSAKeyValueType (const DSAKeyValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DSAKeyValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + DSAKeyValueType& + operator= (const DSAKeyValueType& x); + + virtual + ~DSAKeyValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + P_optional P_; + Q_optional Q_; + G_optional G_; + ::xsd::cxx::tree::one< Y_type > Y_; + J_optional J_; + Seed_optional Seed_; + PgenCounter_optional PgenCounter_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const DSAKeyValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DSAKEY_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.cxx b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.cxx new file mode 100644 index 0000000..1fe1c45 --- /dev/null +++ b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DataCustodianApplicationStatus.hxx" + +namespace espi +{ + // DataCustodianApplicationStatus + // + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const char* s) + : ::xml_schema::string (s) + { + } + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const DataCustodianApplicationStatus& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DataCustodianApplicationStatus + // + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + DataCustodianApplicationStatus:: + DataCustodianApplicationStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + DataCustodianApplicationStatus* DataCustodianApplicationStatus:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DataCustodianApplicationStatus (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DataCustodianApplicationStatus > + _xsd_DataCustodianApplicationStatus_type_factory_init ( + "DataCustodianApplicationStatus", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DataCustodianApplicationStatus& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DataCustodianApplicationStatus& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DataCustodianApplicationStatus& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DataCustodianApplicationStatus > + _xsd_DataCustodianApplicationStatus_type_serializer_init ( + "DataCustodianApplicationStatus", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.hxx b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.hxx new file mode 100644 index 0000000..8e88c8c --- /dev/null +++ b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATA_CUSTODIAN_APPLICATION_STATUS_HXX +#define DATA_CUSTODIAN_APPLICATION_STATUS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DataCustodianApplicationStatus; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class DataCustodianApplicationStatus: public ::xml_schema::string + { + public: + + DataCustodianApplicationStatus (const char* v); + + DataCustodianApplicationStatus (const ::std::string& v); + + DataCustodianApplicationStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus (const DataCustodianApplicationStatus& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DataCustodianApplicationStatus* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DataCustodianApplicationStatus&); + + void + operator<< (::xercesc::DOMAttr&, const DataCustodianApplicationStatus&); + + void + operator<< (::xml_schema::list_stream&, + const DataCustodianApplicationStatus&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATA_CUSTODIAN_APPLICATION_STATUS_HXX diff --git a/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.cxx b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.cxx new file mode 100644 index 0000000..be4060d --- /dev/null +++ b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DataCustodianApplicationStatus_member.hxx" + +namespace espi +{ + // DataCustodianApplicationStatus_member + // + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (const DataCustodianApplicationStatus_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DataCustodianApplicationStatus_member + // + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + DataCustodianApplicationStatus_member:: + DataCustodianApplicationStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + DataCustodianApplicationStatus_member* DataCustodianApplicationStatus_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DataCustodianApplicationStatus_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DataCustodianApplicationStatus_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DataCustodianApplicationStatus_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DataCustodianApplicationStatus_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.hxx b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.hxx new file mode 100644 index 0000000..aba5b4a --- /dev/null +++ b/oadrsd/oadrsd/2b/DataCustodianApplicationStatus_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATA_CUSTODIAN_APPLICATION_STATUS_MEMBER_HXX +#define DATA_CUSTODIAN_APPLICATION_STATUS_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DataCustodianApplicationStatus_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class DataCustodianApplicationStatus_member: public ::espi::UInt16 + { + public: + DataCustodianApplicationStatus_member (::xml_schema::unsigned_short v); + + DataCustodianApplicationStatus_member (const ::espi::UInt16& v); + + DataCustodianApplicationStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataCustodianApplicationStatus_member (const DataCustodianApplicationStatus_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DataCustodianApplicationStatus_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DataCustodianApplicationStatus_member&); + + void + operator<< (::xercesc::DOMAttr&, const DataCustodianApplicationStatus_member&); + + void + operator<< (::xml_schema::list_stream&, + const DataCustodianApplicationStatus_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATA_CUSTODIAN_APPLICATION_STATUS_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/DataQualifierKind.cxx b/oadrsd/oadrsd/2b/DataQualifierKind.cxx new file mode 100644 index 0000000..e8303f8 --- /dev/null +++ b/oadrsd/oadrsd/2b/DataQualifierKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DataQualifierKind.hxx" + +namespace espi +{ + // DataQualifierKind + // + + DataQualifierKind:: + DataQualifierKind (const char* s) + : ::xml_schema::string (s) + { + } + + DataQualifierKind:: + DataQualifierKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + DataQualifierKind:: + DataQualifierKind (const DataQualifierKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DataQualifierKind + // + + DataQualifierKind:: + DataQualifierKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + DataQualifierKind:: + DataQualifierKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + DataQualifierKind:: + DataQualifierKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + DataQualifierKind* DataQualifierKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DataQualifierKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DataQualifierKind > + _xsd_DataQualifierKind_type_factory_init ( + "DataQualifierKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DataQualifierKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DataQualifierKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DataQualifierKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DataQualifierKind > + _xsd_DataQualifierKind_type_serializer_init ( + "DataQualifierKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DataQualifierKind.hxx b/oadrsd/oadrsd/2b/DataQualifierKind.hxx new file mode 100644 index 0000000..fbda031 --- /dev/null +++ b/oadrsd/oadrsd/2b/DataQualifierKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATA_QUALIFIER_KIND_HXX +#define DATA_QUALIFIER_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DataQualifierKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class DataQualifierKind: public ::xml_schema::string + { + public: + + DataQualifierKind (const char* v); + + DataQualifierKind (const ::std::string& v); + + DataQualifierKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind (const DataQualifierKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DataQualifierKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DataQualifierKind&); + + void + operator<< (::xercesc::DOMAttr&, const DataQualifierKind&); + + void + operator<< (::xml_schema::list_stream&, + const DataQualifierKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATA_QUALIFIER_KIND_HXX diff --git a/oadrsd/oadrsd/2b/DataQualifierKind_member.cxx b/oadrsd/oadrsd/2b/DataQualifierKind_member.cxx new file mode 100644 index 0000000..6278083 --- /dev/null +++ b/oadrsd/oadrsd/2b/DataQualifierKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DataQualifierKind_member.hxx" + +namespace espi +{ + // DataQualifierKind_member + // + + DataQualifierKind_member:: + DataQualifierKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + DataQualifierKind_member:: + DataQualifierKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + DataQualifierKind_member:: + DataQualifierKind_member (const DataQualifierKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DataQualifierKind_member + // + + DataQualifierKind_member:: + DataQualifierKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + DataQualifierKind_member:: + DataQualifierKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + DataQualifierKind_member:: + DataQualifierKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + DataQualifierKind_member* DataQualifierKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DataQualifierKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DataQualifierKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DataQualifierKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DataQualifierKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DataQualifierKind_member.hxx b/oadrsd/oadrsd/2b/DataQualifierKind_member.hxx new file mode 100644 index 0000000..897ebb1 --- /dev/null +++ b/oadrsd/oadrsd/2b/DataQualifierKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATA_QUALIFIER_KIND_MEMBER_HXX +#define DATA_QUALIFIER_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DataQualifierKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class DataQualifierKind_member: public ::espi::UInt16 + { + public: + DataQualifierKind_member (::xml_schema::unsigned_short v); + + DataQualifierKind_member (const ::espi::UInt16& v); + + DataQualifierKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DataQualifierKind_member (const DataQualifierKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DataQualifierKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DataQualifierKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const DataQualifierKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const DataQualifierKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATA_QUALIFIER_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/DateTimeInterval.cxx b/oadrsd/oadrsd/2b/DateTimeInterval.cxx new file mode 100644 index 0000000..1415df0 --- /dev/null +++ b/oadrsd/oadrsd/2b/DateTimeInterval.cxx @@ -0,0 +1,362 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DateTimeInterval.hxx" + +#include "UInt32.hxx" + +#include "TimeType.hxx" + +namespace espi +{ + // DateTimeInterval + // + + const DateTimeInterval::duration_optional& DateTimeInterval:: + duration () const + { + return this->duration_; + } + + DateTimeInterval::duration_optional& DateTimeInterval:: + duration () + { + return this->duration_; + } + + void DateTimeInterval:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void DateTimeInterval:: + duration (const duration_optional& x) + { + this->duration_ = x; + } + + void DateTimeInterval:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } + + const DateTimeInterval::start_optional& DateTimeInterval:: + start () const + { + return this->start_; + } + + DateTimeInterval::start_optional& DateTimeInterval:: + start () + { + return this->start_; + } + + void DateTimeInterval:: + start (const start_type& x) + { + this->start_.set (x); + } + + void DateTimeInterval:: + start (const start_optional& x) + { + this->start_ = x; + } + + void DateTimeInterval:: + start (::std::auto_ptr< start_type > x) + { + this->start_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DateTimeInterval + // + + DateTimeInterval:: + DateTimeInterval () + : ::espi::Object (), + duration_ (this), + start_ (this) + { + } + + DateTimeInterval:: + DateTimeInterval (const DateTimeInterval& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + duration_ (x.duration_, f, this), + start_ (x.start_, f, this) + { + } + + DateTimeInterval:: + DateTimeInterval (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + duration_ (this), + start_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void DateTimeInterval:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< duration_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->duration_) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + // start + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "start", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< start_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->start_) + { + ::std::auto_ptr< start_type > r ( + dynamic_cast< start_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->start_.set (r); + continue; + } + } + } + + break; + } + } + + DateTimeInterval* DateTimeInterval:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DateTimeInterval (*this, f, c); + } + + DateTimeInterval& DateTimeInterval:: + operator= (const DateTimeInterval& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->duration_ = x.duration_; + this->start_ = x.start_; + } + + return *this; + } + + DateTimeInterval:: + ~DateTimeInterval () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DateTimeInterval > + _xsd_DateTimeInterval_type_factory_init ( + "DateTimeInterval", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DateTimeInterval& i) + { + e << static_cast< const ::espi::Object& > (i); + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.duration ()) + { + const DateTimeInterval::duration_type& x (*i.duration ()); + if (typeid (DateTimeInterval::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // start + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.start ()) + { + const DateTimeInterval::start_type& x (*i.start ()); + if (typeid (DateTimeInterval::start_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "start", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "start", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DateTimeInterval > + _xsd_DateTimeInterval_type_serializer_init ( + "DateTimeInterval", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DateTimeInterval.hxx b/oadrsd/oadrsd/2b/DateTimeInterval.hxx new file mode 100644 index 0000000..06e2512 --- /dev/null +++ b/oadrsd/oadrsd/2b/DateTimeInterval.hxx @@ -0,0 +1,396 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATE_TIME_INTERVAL_HXX +#define DATE_TIME_INTERVAL_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DateTimeInterval; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class UInt32; +} + +namespace espi +{ + class TimeType; +} + +namespace espi +{ + class DateTimeInterval: public ::espi::Object + { + public: + // duration + // + typedef ::espi::UInt32 duration_type; + typedef ::xsd::cxx::tree::optional< duration_type > duration_optional; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_optional& + duration () const; + + duration_optional& + duration (); + + void + duration (const duration_type& x); + + void + duration (const duration_optional& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // start + // + typedef ::espi::TimeType start_type; + typedef ::xsd::cxx::tree::optional< start_type > start_optional; + typedef ::xsd::cxx::tree::traits< start_type, char > start_traits; + + const start_optional& + start () const; + + start_optional& + start (); + + void + start (const start_type& x); + + void + start (const start_optional& x); + + void + start (::std::auto_ptr< start_type > p); + + // Constructors. + // + DateTimeInterval (); + + DateTimeInterval (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DateTimeInterval (const DateTimeInterval& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DateTimeInterval* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + DateTimeInterval& + operator= (const DateTimeInterval& x); + + virtual + ~DateTimeInterval (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + duration_optional duration_; + start_optional start_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DateTimeInterval&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATE_TIME_INTERVAL_HXX diff --git a/oadrsd/oadrsd/2b/DateTimeType.cxx b/oadrsd/oadrsd/2b/DateTimeType.cxx new file mode 100644 index 0000000..7ed793f --- /dev/null +++ b/oadrsd/oadrsd/2b/DateTimeType.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DateTimeType.hxx" + +namespace icalendar_2_0 +{ + // DateTimeType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // DateTimeType + // + + DateTimeType:: + DateTimeType (const ::xml_schema::date_time& _xsd_date_time_base) + : ::xml_schema::date_time (_xsd_date_time_base) + { + } + + DateTimeType:: + DateTimeType (const DateTimeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (x, f, c) + { + } + + DateTimeType:: + DateTimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (e, f, c) + { + } + + DateTimeType:: + DateTimeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (a, f, c) + { + } + + DateTimeType:: + DateTimeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (s, e, f, c) + { + } + + DateTimeType* DateTimeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DateTimeType (*this, f, c); + } + + DateTimeType:: + ~DateTimeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DateTimeType > + _xsd_DateTimeType_type_factory_init ( + "DateTimeType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const DateTimeType& i) + { + e << static_cast< const ::xml_schema::date_time& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DateTimeType& i) + { + a << static_cast< const ::xml_schema::date_time& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DateTimeType& i) + { + l << static_cast< const ::xml_schema::date_time& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DateTimeType > + _xsd_DateTimeType_type_serializer_init ( + "DateTimeType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DateTimeType.hxx b/oadrsd/oadrsd/2b/DateTimeType.hxx new file mode 100644 index 0000000..db99e75 --- /dev/null +++ b/oadrsd/oadrsd/2b/DateTimeType.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATE_TIME_TYPE_HXX +#define DATE_TIME_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class DateTimeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DateTimeType: public ::xml_schema::date_time + { + public: + // Constructors. + // + DateTimeType (const ::xml_schema::date_time&); + + DateTimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DateTimeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DateTimeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DateTimeType (const DateTimeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DateTimeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~DateTimeType (); + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const DateTimeType&); + + void + operator<< (::xercesc::DOMAttr&, const DateTimeType&); + + void + operator<< (::xml_schema::list_stream&, + const DateTimeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATE_TIME_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DigestMethodType.cxx b/oadrsd/oadrsd/2b/DigestMethodType.cxx new file mode 100644 index 0000000..ab9c474 --- /dev/null +++ b/oadrsd/oadrsd/2b/DigestMethodType.cxx @@ -0,0 +1,250 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DigestMethodType.hxx" + +namespace oadr2b +{ + namespace sig + { + // DigestMethodType + // + + const DigestMethodType::Algorithm_type& DigestMethodType:: + Algorithm () const + { + return this->Algorithm_.get (); + } + + DigestMethodType::Algorithm_type& DigestMethodType:: + Algorithm () + { + return this->Algorithm_.get (); + } + + void DigestMethodType:: + Algorithm (const Algorithm_type& x) + { + this->Algorithm_.set (x); + } + + void DigestMethodType:: + Algorithm (::std::auto_ptr< Algorithm_type > x) + { + this->Algorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // DigestMethodType + // + + DigestMethodType:: + DigestMethodType (const Algorithm_type& Algorithm) + : ::xml_schema::type (), + Algorithm_ (Algorithm, this) + { + } + + DigestMethodType:: + DigestMethodType (const DigestMethodType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Algorithm_ (x.Algorithm_, f, this) + { + } + + DigestMethodType:: + DigestMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Algorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void DigestMethodType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Algorithm" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Algorithm_.set (Algorithm_traits::create (i, f, this)); + continue; + } + } + + if (!Algorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + DigestMethodType* DigestMethodType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DigestMethodType (*this, f, c); + } + + DigestMethodType& DigestMethodType:: + operator= (const DigestMethodType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Algorithm_ = x.Algorithm_; + } + + return *this; + } + + DigestMethodType:: + ~DigestMethodType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DigestMethodType > + _xsd_DigestMethodType_type_factory_init ( + "DigestMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const DigestMethodType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Algorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << i.Algorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DigestMethodType > + _xsd_DigestMethodType_type_serializer_init ( + "DigestMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DigestMethodType.hxx b/oadrsd/oadrsd/2b/DigestMethodType.hxx new file mode 100644 index 0000000..48748b9 --- /dev/null +++ b/oadrsd/oadrsd/2b/DigestMethodType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DIGEST_METHOD_TYPE_HXX +#define DIGEST_METHOD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class DigestMethodType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class DigestMethodType: public ::xml_schema::type + { + public: + // Algorithm + // + typedef ::xml_schema::uri Algorithm_type; + typedef ::xsd::cxx::tree::traits< Algorithm_type, char > Algorithm_traits; + + const Algorithm_type& + Algorithm () const; + + Algorithm_type& + Algorithm (); + + void + Algorithm (const Algorithm_type& x); + + void + Algorithm (::std::auto_ptr< Algorithm_type > p); + + // Constructors. + // + DigestMethodType (const Algorithm_type&); + + DigestMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DigestMethodType (const DigestMethodType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DigestMethodType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + DigestMethodType& + operator= (const DigestMethodType& x); + + virtual + ~DigestMethodType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Algorithm_type > Algorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const DigestMethodType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DIGEST_METHOD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DigestValueType.cxx b/oadrsd/oadrsd/2b/DigestValueType.cxx new file mode 100644 index 0000000..7b886d4 --- /dev/null +++ b/oadrsd/oadrsd/2b/DigestValueType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DigestValueType.hxx" + +namespace oadr2b +{ + namespace sig + { + // DigestValueType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // DigestValueType + // + + DigestValueType:: + DigestValueType () + : ::xml_schema::base64_binary () + { + } + + DigestValueType:: + DigestValueType (const ::xml_schema::base64_binary& _xsd_base64_binary_base) + : ::xml_schema::base64_binary (_xsd_base64_binary_base) + { + } + + DigestValueType:: + DigestValueType (const DigestValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (x, f, c) + { + } + + DigestValueType:: + DigestValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (e, f, c) + { + } + + DigestValueType:: + DigestValueType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (a, f, c) + { + } + + DigestValueType:: + DigestValueType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (s, e, f, c) + { + } + + DigestValueType* DigestValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DigestValueType (*this, f, c); + } + + DigestValueType:: + ~DigestValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DigestValueType > + _xsd_DigestValueType_type_factory_init ( + "DigestValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const DigestValueType& i) + { + e << static_cast< const ::xml_schema::base64_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DigestValueType& i) + { + a << static_cast< const ::xml_schema::base64_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DigestValueType& i) + { + l << static_cast< const ::xml_schema::base64_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DigestValueType > + _xsd_DigestValueType_type_serializer_init ( + "DigestValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DigestValueType.hxx b/oadrsd/oadrsd/2b/DigestValueType.hxx new file mode 100644 index 0000000..5e3ca4d --- /dev/null +++ b/oadrsd/oadrsd/2b/DigestValueType.hxx @@ -0,0 +1,358 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DIGEST_VALUE_TYPE_HXX +#define DIGEST_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class DigestValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class DigestValueType: public ::xml_schema::base64_binary + { + public: + // Constructors. + // + DigestValueType (); + + DigestValueType (const ::xml_schema::base64_binary&); + + DigestValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DigestValueType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DigestValueType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DigestValueType (const DigestValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DigestValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~DigestValueType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const DigestValueType&); + + void + operator<< (::xercesc::DOMAttr&, const DigestValueType&); + + void + operator<< (::xml_schema::list_stream&, + const DigestValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DIGEST_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DstRuleType.cxx b/oadrsd/oadrsd/2b/DstRuleType.cxx new file mode 100644 index 0000000..b269c78 --- /dev/null +++ b/oadrsd/oadrsd/2b/DstRuleType.cxx @@ -0,0 +1,184 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DstRuleType.hxx" + +namespace espi +{ + // DstRuleType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // DstRuleType + // + + DstRuleType:: + DstRuleType () + : ::espi::HexBinary32 () + { + } + + DstRuleType:: + DstRuleType (const ::xml_schema::hex_binary& _xsd_hex_binary_base) + : ::espi::HexBinary32 (_xsd_hex_binary_base) + { + } + + DstRuleType:: + DstRuleType (const DstRuleType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::HexBinary32 (x, f, c) + { + } + + DstRuleType:: + DstRuleType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::HexBinary32 (e, f, c) + { + } + + DstRuleType:: + DstRuleType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::HexBinary32 (a, f, c) + { + } + + DstRuleType:: + DstRuleType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::HexBinary32 (s, e, f, c) + { + } + + DstRuleType* DstRuleType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DstRuleType (*this, f, c); + } + + DstRuleType:: + ~DstRuleType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DstRuleType > + _xsd_DstRuleType_type_factory_init ( + "DstRuleType", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const DstRuleType& i) + { + e << static_cast< const ::espi::HexBinary32& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DstRuleType& i) + { + a << static_cast< const ::espi::HexBinary32& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DstRuleType& i) + { + l << static_cast< const ::espi::HexBinary32& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DstRuleType > + _xsd_DstRuleType_type_serializer_init ( + "DstRuleType", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DstRuleType.hxx b/oadrsd/oadrsd/2b/DstRuleType.hxx new file mode 100644 index 0000000..1828def --- /dev/null +++ b/oadrsd/oadrsd/2b/DstRuleType.hxx @@ -0,0 +1,348 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DST_RULE_TYPE_HXX +#define DST_RULE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class DstRuleType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "HexBinary32.hxx" + +namespace espi +{ + class DstRuleType: public ::espi::HexBinary32 + { + public: + // Constructors. + // + DstRuleType (); + + DstRuleType (const ::xml_schema::hex_binary&); + + DstRuleType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DstRuleType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DstRuleType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DstRuleType (const DstRuleType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DstRuleType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~DstRuleType (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const DstRuleType&); + + void + operator<< (::xercesc::DOMAttr&, const DstRuleType&); + + void + operator<< (::xml_schema::list_stream&, + const DstRuleType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DST_RULE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DurationPropType.cxx b/oadrsd/oadrsd/2b/DurationPropType.cxx new file mode 100644 index 0000000..9b5e33f --- /dev/null +++ b/oadrsd/oadrsd/2b/DurationPropType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DurationPropType.hxx" + +#include "DurationValueType.hxx" + +namespace icalendar_2_0 +{ + // DurationPropType + // + + const DurationPropType::duration_type& DurationPropType:: + duration () const + { + return this->duration_.get (); + } + + DurationPropType::duration_type& DurationPropType:: + duration () + { + return this->duration_.get (); + } + + void DurationPropType:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void DurationPropType:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // DurationPropType + // + + DurationPropType:: + DurationPropType (const duration_type& duration) + : ::xml_schema::type (), + duration_ (duration, this) + { + } + + DurationPropType:: + DurationPropType (::std::auto_ptr< duration_type > duration) + : ::xml_schema::type (), + duration_ (duration, this) + { + } + + DurationPropType:: + DurationPropType (const DurationPropType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + duration_ (x.duration_, f, this) + { + } + + DurationPropType:: + DurationPropType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + duration_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void DurationPropType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< duration_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!duration_.present ()) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + break; + } + + if (!duration_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + DurationPropType* DurationPropType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DurationPropType (*this, f, c); + } + + DurationPropType& DurationPropType:: + operator= (const DurationPropType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->duration_ = x.duration_; + } + + return *this; + } + + DurationPropType:: + ~DurationPropType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DurationPropType > + _xsd_DurationPropType_type_factory_init ( + "DurationPropType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const DurationPropType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const DurationPropType::duration_type& x (i.duration ()); + if (typeid (DurationPropType::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DurationPropType > + _xsd_DurationPropType_type_serializer_init ( + "DurationPropType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DurationPropType.hxx b/oadrsd/oadrsd/2b/DurationPropType.hxx new file mode 100644 index 0000000..2f53f4d --- /dev/null +++ b/oadrsd/oadrsd/2b/DurationPropType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DURATION_PROP_TYPE_HXX +#define DURATION_PROP_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class DurationPropType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DurationValueType; +} + +namespace icalendar_2_0 +{ + class DurationPropType: public ::xml_schema::type + { + public: + // duration + // + typedef ::icalendar_2_0::DurationValueType duration_type; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_type& + duration () const; + + duration_type& + duration (); + + void + duration (const duration_type& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // Constructors. + // + DurationPropType (const duration_type&); + + DurationPropType (::std::auto_ptr< duration_type >); + + DurationPropType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DurationPropType (const DurationPropType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DurationPropType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + DurationPropType& + operator= (const DurationPropType& x); + + virtual + ~DurationPropType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< duration_type > duration_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const DurationPropType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DURATION_PROP_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/DurationValueType.cxx b/oadrsd/oadrsd/2b/DurationValueType.cxx new file mode 100644 index 0000000..0c16602 --- /dev/null +++ b/oadrsd/oadrsd/2b/DurationValueType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "DurationValueType.hxx" + +namespace icalendar_2_0 +{ + // DurationValueType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // DurationValueType + // + + DurationValueType:: + DurationValueType () + : ::xml_schema::string () + { + } + + DurationValueType:: + DurationValueType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + DurationValueType:: + DurationValueType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + DurationValueType:: + DurationValueType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + DurationValueType:: + DurationValueType (const DurationValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + DurationValueType:: + DurationValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + DurationValueType:: + DurationValueType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + DurationValueType:: + DurationValueType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + DurationValueType* DurationValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class DurationValueType (*this, f, c); + } + + DurationValueType:: + ~DurationValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, DurationValueType > + _xsd_DurationValueType_type_factory_init ( + "DurationValueType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const DurationValueType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const DurationValueType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const DurationValueType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, DurationValueType > + _xsd_DurationValueType_type_serializer_init ( + "DurationValueType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/DurationValueType.hxx b/oadrsd/oadrsd/2b/DurationValueType.hxx new file mode 100644 index 0000000..1fdbbad --- /dev/null +++ b/oadrsd/oadrsd/2b/DurationValueType.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DURATION_VALUE_TYPE_HXX +#define DURATION_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class DurationValueType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DurationValueType: public ::xml_schema::string + { + public: + // Constructors. + // + DurationValueType (); + + DurationValueType (const char*); + + DurationValueType (const ::std::string&); + + DurationValueType (const ::xml_schema::string&); + + DurationValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DurationValueType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DurationValueType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + DurationValueType (const DurationValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual DurationValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~DurationValueType (); + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const DurationValueType&); + + void + operator<< (::xercesc::DOMAttr&, const DurationValueType&); + + void + operator<< (::xml_schema::list_stream&, + const DurationValueType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DURATION_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ECKeyValueType.cxx b/oadrsd/oadrsd/2b/ECKeyValueType.cxx new file mode 100644 index 0000000..9c2789f --- /dev/null +++ b/oadrsd/oadrsd/2b/ECKeyValueType.cxx @@ -0,0 +1,531 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ECKeyValueType.hxx" + +#include "ECParametersType.hxx" + +#include "NamedCurveType.hxx" + +#include "ECPointType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // ECKeyValueType + // + + const ECKeyValueType::ECParameters_optional& ECKeyValueType:: + ECParameters () const + { + return this->ECParameters_; + } + + ECKeyValueType::ECParameters_optional& ECKeyValueType:: + ECParameters () + { + return this->ECParameters_; + } + + void ECKeyValueType:: + ECParameters (const ECParameters_type& x) + { + this->ECParameters_.set (x); + } + + void ECKeyValueType:: + ECParameters (const ECParameters_optional& x) + { + this->ECParameters_ = x; + } + + void ECKeyValueType:: + ECParameters (::std::auto_ptr< ECParameters_type > x) + { + this->ECParameters_.set (x); + } + + const ECKeyValueType::NamedCurve_optional& ECKeyValueType:: + NamedCurve () const + { + return this->NamedCurve_; + } + + ECKeyValueType::NamedCurve_optional& ECKeyValueType:: + NamedCurve () + { + return this->NamedCurve_; + } + + void ECKeyValueType:: + NamedCurve (const NamedCurve_type& x) + { + this->NamedCurve_.set (x); + } + + void ECKeyValueType:: + NamedCurve (const NamedCurve_optional& x) + { + this->NamedCurve_ = x; + } + + void ECKeyValueType:: + NamedCurve (::std::auto_ptr< NamedCurve_type > x) + { + this->NamedCurve_.set (x); + } + + const ECKeyValueType::PublicKey_type& ECKeyValueType:: + PublicKey () const + { + return this->PublicKey_.get (); + } + + ECKeyValueType::PublicKey_type& ECKeyValueType:: + PublicKey () + { + return this->PublicKey_.get (); + } + + void ECKeyValueType:: + PublicKey (const PublicKey_type& x) + { + this->PublicKey_.set (x); + } + + void ECKeyValueType:: + PublicKey (::std::auto_ptr< PublicKey_type > x) + { + this->PublicKey_.set (x); + } + + const ECKeyValueType::Id_optional& ECKeyValueType:: + Id () const + { + return this->Id_; + } + + ECKeyValueType::Id_optional& ECKeyValueType:: + Id () + { + return this->Id_; + } + + void ECKeyValueType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void ECKeyValueType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void ECKeyValueType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // ECKeyValueType + // + + ECKeyValueType:: + ECKeyValueType (const PublicKey_type& PublicKey) + : ::xml_schema::type (), + ECParameters_ (this), + NamedCurve_ (this), + PublicKey_ (PublicKey, this), + Id_ (this) + { + } + + ECKeyValueType:: + ECKeyValueType (::std::auto_ptr< PublicKey_type > PublicKey) + : ::xml_schema::type (), + ECParameters_ (this), + NamedCurve_ (this), + PublicKey_ (PublicKey, this), + Id_ (this) + { + } + + ECKeyValueType:: + ECKeyValueType (const ECKeyValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + ECParameters_ (x.ECParameters_, f, this), + NamedCurve_ (x.NamedCurve_, f, this), + PublicKey_ (x.PublicKey_, f, this), + Id_ (x.Id_, f, this) + { + } + + ECKeyValueType:: + ECKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + ECParameters_ (this), + NamedCurve_ (this), + PublicKey_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void ECKeyValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // ECParameters + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ECParameters", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ECParameters_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ECParameters_) + { + ::std::auto_ptr< ECParameters_type > r ( + dynamic_cast< ECParameters_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ECParameters_.set (r); + continue; + } + } + } + + // NamedCurve + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "NamedCurve", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< NamedCurve_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->NamedCurve_) + { + ::std::auto_ptr< NamedCurve_type > r ( + dynamic_cast< NamedCurve_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->NamedCurve_.set (r); + continue; + } + } + } + + // PublicKey + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PublicKey", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< PublicKey_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!PublicKey_.present ()) + { + ::std::auto_ptr< PublicKey_type > r ( + dynamic_cast< PublicKey_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PublicKey_.set (r); + continue; + } + } + } + + break; + } + + if (!PublicKey_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "PublicKey", + "http://www.w3.org/2009/xmldsig11#"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + ECKeyValueType* ECKeyValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ECKeyValueType (*this, f, c); + } + + ECKeyValueType& ECKeyValueType:: + operator= (const ECKeyValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->ECParameters_ = x.ECParameters_; + this->NamedCurve_ = x.NamedCurve_; + this->PublicKey_ = x.PublicKey_; + this->Id_ = x.Id_; + } + + return *this; + } + + ECKeyValueType:: + ~ECKeyValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ECKeyValueType > + _xsd_ECKeyValueType_type_factory_init ( + "ECKeyValueType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const ECKeyValueType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // ECParameters + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ECParameters ()) + { + const ECKeyValueType::ECParameters_type& x (*i.ECParameters ()); + if (typeid (ECKeyValueType::ECParameters_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ECParameters", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "ECParameters", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + } + + // NamedCurve + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.NamedCurve ()) + { + const ECKeyValueType::NamedCurve_type& x (*i.NamedCurve ()); + if (typeid (ECKeyValueType::NamedCurve_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "NamedCurve", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "NamedCurve", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + } + + // PublicKey + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECKeyValueType::PublicKey_type& x (i.PublicKey ()); + if (typeid (ECKeyValueType::PublicKey_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PublicKey", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "PublicKey", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ECKeyValueType > + _xsd_ECKeyValueType_type_serializer_init ( + "ECKeyValueType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ECKeyValueType.hxx b/oadrsd/oadrsd/2b/ECKeyValueType.hxx new file mode 100644 index 0000000..90b98e7 --- /dev/null +++ b/oadrsd/oadrsd/2b/ECKeyValueType.hxx @@ -0,0 +1,462 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ECKEY_VALUE_TYPE_HXX +#define ECKEY_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class ECKeyValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class ECParametersType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class NamedCurveType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECPointType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECKeyValueType: public ::xml_schema::type + { + public: + // ECParameters + // + typedef ::oadr2b::dsig11::ECParametersType ECParameters_type; + typedef ::xsd::cxx::tree::optional< ECParameters_type > ECParameters_optional; + typedef ::xsd::cxx::tree::traits< ECParameters_type, char > ECParameters_traits; + + const ECParameters_optional& + ECParameters () const; + + ECParameters_optional& + ECParameters (); + + void + ECParameters (const ECParameters_type& x); + + void + ECParameters (const ECParameters_optional& x); + + void + ECParameters (::std::auto_ptr< ECParameters_type > p); + + // NamedCurve + // + typedef ::oadr2b::dsig11::NamedCurveType NamedCurve_type; + typedef ::xsd::cxx::tree::optional< NamedCurve_type > NamedCurve_optional; + typedef ::xsd::cxx::tree::traits< NamedCurve_type, char > NamedCurve_traits; + + const NamedCurve_optional& + NamedCurve () const; + + NamedCurve_optional& + NamedCurve (); + + void + NamedCurve (const NamedCurve_type& x); + + void + NamedCurve (const NamedCurve_optional& x); + + void + NamedCurve (::std::auto_ptr< NamedCurve_type > p); + + // PublicKey + // + typedef ::oadr2b::dsig11::ECPointType PublicKey_type; + typedef ::xsd::cxx::tree::traits< PublicKey_type, char > PublicKey_traits; + + const PublicKey_type& + PublicKey () const; + + PublicKey_type& + PublicKey (); + + void + PublicKey (const PublicKey_type& x); + + void + PublicKey (::std::auto_ptr< PublicKey_type > p); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + ECKeyValueType (const PublicKey_type&); + + ECKeyValueType (::std::auto_ptr< PublicKey_type >); + + ECKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECKeyValueType (const ECKeyValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ECKeyValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ECKeyValueType& + operator= (const ECKeyValueType& x); + + virtual + ~ECKeyValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ECParameters_optional ECParameters_; + NamedCurve_optional NamedCurve_; + ::xsd::cxx::tree::one< PublicKey_type > PublicKey_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const ECKeyValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ECKEY_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ECParametersType.cxx b/oadrsd/oadrsd/2b/ECParametersType.cxx new file mode 100644 index 0000000..ff8096a --- /dev/null +++ b/oadrsd/oadrsd/2b/ECParametersType.cxx @@ -0,0 +1,722 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ECParametersType.hxx" + +#include "FieldIDType.hxx" + +#include "CurveType.hxx" + +#include "ECPointType.hxx" + +#include "CryptoBinary.hxx" + +#include "ECValidationDataType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // ECParametersType + // + + const ECParametersType::FieldID_type& ECParametersType:: + FieldID () const + { + return this->FieldID_.get (); + } + + ECParametersType::FieldID_type& ECParametersType:: + FieldID () + { + return this->FieldID_.get (); + } + + void ECParametersType:: + FieldID (const FieldID_type& x) + { + this->FieldID_.set (x); + } + + void ECParametersType:: + FieldID (::std::auto_ptr< FieldID_type > x) + { + this->FieldID_.set (x); + } + + const ECParametersType::Curve_type& ECParametersType:: + Curve () const + { + return this->Curve_.get (); + } + + ECParametersType::Curve_type& ECParametersType:: + Curve () + { + return this->Curve_.get (); + } + + void ECParametersType:: + Curve (const Curve_type& x) + { + this->Curve_.set (x); + } + + void ECParametersType:: + Curve (::std::auto_ptr< Curve_type > x) + { + this->Curve_.set (x); + } + + const ECParametersType::Base_type& ECParametersType:: + Base () const + { + return this->Base_.get (); + } + + ECParametersType::Base_type& ECParametersType:: + Base () + { + return this->Base_.get (); + } + + void ECParametersType:: + Base (const Base_type& x) + { + this->Base_.set (x); + } + + void ECParametersType:: + Base (::std::auto_ptr< Base_type > x) + { + this->Base_.set (x); + } + + const ECParametersType::Order_type& ECParametersType:: + Order () const + { + return this->Order_.get (); + } + + ECParametersType::Order_type& ECParametersType:: + Order () + { + return this->Order_.get (); + } + + void ECParametersType:: + Order (const Order_type& x) + { + this->Order_.set (x); + } + + void ECParametersType:: + Order (::std::auto_ptr< Order_type > x) + { + this->Order_.set (x); + } + + const ECParametersType::CoFactor_optional& ECParametersType:: + CoFactor () const + { + return this->CoFactor_; + } + + ECParametersType::CoFactor_optional& ECParametersType:: + CoFactor () + { + return this->CoFactor_; + } + + void ECParametersType:: + CoFactor (const CoFactor_type& x) + { + this->CoFactor_.set (x); + } + + void ECParametersType:: + CoFactor (const CoFactor_optional& x) + { + this->CoFactor_ = x; + } + + const ECParametersType::ValidationData_optional& ECParametersType:: + ValidationData () const + { + return this->ValidationData_; + } + + ECParametersType::ValidationData_optional& ECParametersType:: + ValidationData () + { + return this->ValidationData_; + } + + void ECParametersType:: + ValidationData (const ValidationData_type& x) + { + this->ValidationData_.set (x); + } + + void ECParametersType:: + ValidationData (const ValidationData_optional& x) + { + this->ValidationData_ = x; + } + + void ECParametersType:: + ValidationData (::std::auto_ptr< ValidationData_type > x) + { + this->ValidationData_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // ECParametersType + // + + ECParametersType:: + ECParametersType (const FieldID_type& FieldID, + const Curve_type& Curve, + const Base_type& Base, + const Order_type& Order) + : ::xml_schema::type (), + FieldID_ (FieldID, this), + Curve_ (Curve, this), + Base_ (Base, this), + Order_ (Order, this), + CoFactor_ (this), + ValidationData_ (this) + { + } + + ECParametersType:: + ECParametersType (::std::auto_ptr< FieldID_type > FieldID, + ::std::auto_ptr< Curve_type > Curve, + const Base_type& Base, + const Order_type& Order) + : ::xml_schema::type (), + FieldID_ (FieldID, this), + Curve_ (Curve, this), + Base_ (Base, this), + Order_ (Order, this), + CoFactor_ (this), + ValidationData_ (this) + { + } + + ECParametersType:: + ECParametersType (::std::auto_ptr< FieldID_type > FieldID, + ::std::auto_ptr< Curve_type > Curve, + ::std::auto_ptr< Base_type > Base, + ::std::auto_ptr< Order_type > Order) + : ::xml_schema::type (), + FieldID_ (FieldID, this), + Curve_ (Curve, this), + Base_ (Base, this), + Order_ (Order, this), + CoFactor_ (this), + ValidationData_ (this) + { + } + + ECParametersType:: + ECParametersType (const ECParametersType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + FieldID_ (x.FieldID_, f, this), + Curve_ (x.Curve_, f, this), + Base_ (x.Base_, f, this), + Order_ (x.Order_, f, this), + CoFactor_ (x.CoFactor_, f, this), + ValidationData_ (x.ValidationData_, f, this) + { + } + + ECParametersType:: + ECParametersType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + FieldID_ (this), + Curve_ (this), + Base_ (this), + Order_ (this), + CoFactor_ (this), + ValidationData_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ECParametersType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // FieldID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "FieldID", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< FieldID_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!FieldID_.present ()) + { + ::std::auto_ptr< FieldID_type > r ( + dynamic_cast< FieldID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->FieldID_.set (r); + continue; + } + } + } + + // Curve + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Curve", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< Curve_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Curve_.present ()) + { + ::std::auto_ptr< Curve_type > r ( + dynamic_cast< Curve_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Curve_.set (r); + continue; + } + } + } + + // Base + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Base", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< Base_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Base_.present ()) + { + ::std::auto_ptr< Base_type > r ( + dynamic_cast< Base_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Base_.set (r); + continue; + } + } + } + + // Order + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Order", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< Order_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Order_.present ()) + { + ::std::auto_ptr< Order_type > r ( + dynamic_cast< Order_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Order_.set (r); + continue; + } + } + } + + // CoFactor + // + if (n.name () == "CoFactor" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!this->CoFactor_) + { + this->CoFactor_.set (CoFactor_traits::create (i, f, this)); + continue; + } + } + + // ValidationData + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ValidationData", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ValidationData_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ValidationData_) + { + ::std::auto_ptr< ValidationData_type > r ( + dynamic_cast< ValidationData_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ValidationData_.set (r); + continue; + } + } + } + + break; + } + + if (!FieldID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "FieldID", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!Curve_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Curve", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!Base_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Base", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!Order_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Order", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + ECParametersType* ECParametersType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ECParametersType (*this, f, c); + } + + ECParametersType& ECParametersType:: + operator= (const ECParametersType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->FieldID_ = x.FieldID_; + this->Curve_ = x.Curve_; + this->Base_ = x.Base_; + this->Order_ = x.Order_; + this->CoFactor_ = x.CoFactor_; + this->ValidationData_ = x.ValidationData_; + } + + return *this; + } + + ECParametersType:: + ~ECParametersType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ECParametersType > + _xsd_ECParametersType_type_factory_init ( + "ECParametersType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const ECParametersType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // FieldID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECParametersType::FieldID_type& x (i.FieldID ()); + if (typeid (ECParametersType::FieldID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "FieldID", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "FieldID", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // Curve + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECParametersType::Curve_type& x (i.Curve ()); + if (typeid (ECParametersType::Curve_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Curve", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "Curve", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // Base + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECParametersType::Base_type& x (i.Base ()); + if (typeid (ECParametersType::Base_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Base", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "Base", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // Order + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECParametersType::Order_type& x (i.Order ()); + if (typeid (ECParametersType::Order_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Order", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "Order", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // CoFactor + // + if (i.CoFactor ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "CoFactor", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << *i.CoFactor (); + } + + // ValidationData + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ValidationData ()) + { + const ECParametersType::ValidationData_type& x (*i.ValidationData ()); + if (typeid (ECParametersType::ValidationData_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ValidationData", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "ValidationData", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ECParametersType > + _xsd_ECParametersType_type_serializer_init ( + "ECParametersType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ECParametersType.hxx b/oadrsd/oadrsd/2b/ECParametersType.hxx new file mode 100644 index 0000000..888eac4 --- /dev/null +++ b/oadrsd/oadrsd/2b/ECParametersType.hxx @@ -0,0 +1,518 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ECPARAMETERS_TYPE_HXX +#define ECPARAMETERS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class ECParametersType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class FieldIDType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class CurveType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECPointType; + } +} + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECValidationDataType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECParametersType: public ::xml_schema::type + { + public: + // FieldID + // + typedef ::oadr2b::dsig11::FieldIDType FieldID_type; + typedef ::xsd::cxx::tree::traits< FieldID_type, char > FieldID_traits; + + const FieldID_type& + FieldID () const; + + FieldID_type& + FieldID (); + + void + FieldID (const FieldID_type& x); + + void + FieldID (::std::auto_ptr< FieldID_type > p); + + // Curve + // + typedef ::oadr2b::dsig11::CurveType Curve_type; + typedef ::xsd::cxx::tree::traits< Curve_type, char > Curve_traits; + + const Curve_type& + Curve () const; + + Curve_type& + Curve (); + + void + Curve (const Curve_type& x); + + void + Curve (::std::auto_ptr< Curve_type > p); + + // Base + // + typedef ::oadr2b::dsig11::ECPointType Base_type; + typedef ::xsd::cxx::tree::traits< Base_type, char > Base_traits; + + const Base_type& + Base () const; + + Base_type& + Base (); + + void + Base (const Base_type& x); + + void + Base (::std::auto_ptr< Base_type > p); + + // Order + // + typedef ::oadr2b::sig::CryptoBinary Order_type; + typedef ::xsd::cxx::tree::traits< Order_type, char > Order_traits; + + const Order_type& + Order () const; + + Order_type& + Order (); + + void + Order (const Order_type& x); + + void + Order (::std::auto_ptr< Order_type > p); + + // CoFactor + // + typedef ::xml_schema::integer CoFactor_type; + typedef ::xsd::cxx::tree::optional< CoFactor_type > CoFactor_optional; + typedef ::xsd::cxx::tree::traits< CoFactor_type, char > CoFactor_traits; + + const CoFactor_optional& + CoFactor () const; + + CoFactor_optional& + CoFactor (); + + void + CoFactor (const CoFactor_type& x); + + void + CoFactor (const CoFactor_optional& x); + + // ValidationData + // + typedef ::oadr2b::dsig11::ECValidationDataType ValidationData_type; + typedef ::xsd::cxx::tree::optional< ValidationData_type > ValidationData_optional; + typedef ::xsd::cxx::tree::traits< ValidationData_type, char > ValidationData_traits; + + const ValidationData_optional& + ValidationData () const; + + ValidationData_optional& + ValidationData (); + + void + ValidationData (const ValidationData_type& x); + + void + ValidationData (const ValidationData_optional& x); + + void + ValidationData (::std::auto_ptr< ValidationData_type > p); + + // Constructors. + // + ECParametersType (const FieldID_type&, + const Curve_type&, + const Base_type&, + const Order_type&); + + ECParametersType (::std::auto_ptr< FieldID_type >, + ::std::auto_ptr< Curve_type >, + const Base_type&, + const Order_type&); + + ECParametersType (::std::auto_ptr< FieldID_type >, + ::std::auto_ptr< Curve_type >, + ::std::auto_ptr< Base_type >, + ::std::auto_ptr< Order_type >); + + ECParametersType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECParametersType (const ECParametersType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ECParametersType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ECParametersType& + operator= (const ECParametersType& x); + + virtual + ~ECParametersType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< FieldID_type > FieldID_; + ::xsd::cxx::tree::one< Curve_type > Curve_; + ::xsd::cxx::tree::one< Base_type > Base_; + ::xsd::cxx::tree::one< Order_type > Order_; + CoFactor_optional CoFactor_; + ValidationData_optional ValidationData_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const ECParametersType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ECPARAMETERS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ECPointType.cxx b/oadrsd/oadrsd/2b/ECPointType.cxx new file mode 100644 index 0000000..774811c --- /dev/null +++ b/oadrsd/oadrsd/2b/ECPointType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ECPointType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // ECPointType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // ECPointType + // + + ECPointType:: + ECPointType () + : ::oadr2b::sig::CryptoBinary () + { + } + + ECPointType:: + ECPointType (const ::xml_schema::base64_binary& _xsd_base64_binary_base) + : ::oadr2b::sig::CryptoBinary (_xsd_base64_binary_base) + { + } + + ECPointType:: + ECPointType (const ECPointType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::sig::CryptoBinary (x, f, c) + { + } + + ECPointType:: + ECPointType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::sig::CryptoBinary (e, f, c) + { + } + + ECPointType:: + ECPointType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::sig::CryptoBinary (a, f, c) + { + } + + ECPointType:: + ECPointType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::sig::CryptoBinary (s, e, f, c) + { + } + + ECPointType* ECPointType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ECPointType (*this, f, c); + } + + ECPointType:: + ~ECPointType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ECPointType > + _xsd_ECPointType_type_factory_init ( + "ECPointType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const ECPointType& i) + { + e << static_cast< const ::oadr2b::sig::CryptoBinary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ECPointType& i) + { + a << static_cast< const ::oadr2b::sig::CryptoBinary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ECPointType& i) + { + l << static_cast< const ::oadr2b::sig::CryptoBinary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ECPointType > + _xsd_ECPointType_type_serializer_init ( + "ECPointType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ECPointType.hxx b/oadrsd/oadrsd/2b/ECPointType.hxx new file mode 100644 index 0000000..e90dd69 --- /dev/null +++ b/oadrsd/oadrsd/2b/ECPointType.hxx @@ -0,0 +1,360 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ECPOINT_TYPE_HXX +#define ECPOINT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class ECPointType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + class ECPointType: public ::oadr2b::sig::CryptoBinary + { + public: + // Constructors. + // + ECPointType (); + + ECPointType (const ::xml_schema::base64_binary&); + + ECPointType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECPointType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECPointType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECPointType (const ECPointType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ECPointType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~ECPointType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const ECPointType&); + + void + operator<< (::xercesc::DOMAttr&, const ECPointType&); + + void + operator<< (::xml_schema::list_stream&, + const ECPointType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ECPOINT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ECValidationDataType.cxx b/oadrsd/oadrsd/2b/ECValidationDataType.cxx new file mode 100644 index 0000000..b7e1d57 --- /dev/null +++ b/oadrsd/oadrsd/2b/ECValidationDataType.cxx @@ -0,0 +1,349 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ECValidationDataType.hxx" + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // ECValidationDataType + // + + const ECValidationDataType::seed_type& ECValidationDataType:: + seed () const + { + return this->seed_.get (); + } + + ECValidationDataType::seed_type& ECValidationDataType:: + seed () + { + return this->seed_.get (); + } + + void ECValidationDataType:: + seed (const seed_type& x) + { + this->seed_.set (x); + } + + void ECValidationDataType:: + seed (::std::auto_ptr< seed_type > x) + { + this->seed_.set (x); + } + + const ECValidationDataType::hashAlgorithm_type& ECValidationDataType:: + hashAlgorithm () const + { + return this->hashAlgorithm_.get (); + } + + ECValidationDataType::hashAlgorithm_type& ECValidationDataType:: + hashAlgorithm () + { + return this->hashAlgorithm_.get (); + } + + void ECValidationDataType:: + hashAlgorithm (const hashAlgorithm_type& x) + { + this->hashAlgorithm_.set (x); + } + + void ECValidationDataType:: + hashAlgorithm (::std::auto_ptr< hashAlgorithm_type > x) + { + this->hashAlgorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // ECValidationDataType + // + + ECValidationDataType:: + ECValidationDataType (const seed_type& seed, + const hashAlgorithm_type& hashAlgorithm) + : ::xml_schema::type (), + seed_ (seed, this), + hashAlgorithm_ (hashAlgorithm, this) + { + } + + ECValidationDataType:: + ECValidationDataType (::std::auto_ptr< seed_type > seed, + const hashAlgorithm_type& hashAlgorithm) + : ::xml_schema::type (), + seed_ (seed, this), + hashAlgorithm_ (hashAlgorithm, this) + { + } + + ECValidationDataType:: + ECValidationDataType (const ECValidationDataType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + seed_ (x.seed_, f, this), + hashAlgorithm_ (x.hashAlgorithm_, f, this) + { + } + + ECValidationDataType:: + ECValidationDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + seed_ (this), + hashAlgorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void ECValidationDataType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // seed + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "seed", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< seed_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!seed_.present ()) + { + ::std::auto_ptr< seed_type > r ( + dynamic_cast< seed_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->seed_.set (r); + continue; + } + } + } + + break; + } + + if (!seed_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "seed", + "http://www.w3.org/2009/xmldsig11#"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "hashAlgorithm" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->hashAlgorithm_.set (hashAlgorithm_traits::create (i, f, this)); + continue; + } + } + + if (!hashAlgorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "hashAlgorithm", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + ECValidationDataType* ECValidationDataType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ECValidationDataType (*this, f, c); + } + + ECValidationDataType& ECValidationDataType:: + operator= (const ECValidationDataType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->seed_ = x.seed_; + this->hashAlgorithm_ = x.hashAlgorithm_; + } + + return *this; + } + + ECValidationDataType:: + ~ECValidationDataType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ECValidationDataType > + _xsd_ECValidationDataType_type_factory_init ( + "ECValidationDataType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const ECValidationDataType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // seed + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ECValidationDataType::seed_type& x (i.seed ()); + if (typeid (ECValidationDataType::seed_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "seed", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "seed", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + + // hashAlgorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "hashAlgorithm", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << i.hashAlgorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ECValidationDataType > + _xsd_ECValidationDataType_type_serializer_init ( + "ECValidationDataType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ECValidationDataType.hxx b/oadrsd/oadrsd/2b/ECValidationDataType.hxx new file mode 100644 index 0000000..748a0eb --- /dev/null +++ b/oadrsd/oadrsd/2b/ECValidationDataType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ECVALIDATION_DATA_TYPE_HXX +#define ECVALIDATION_DATA_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class ECValidationDataType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class ECValidationDataType: public ::xml_schema::type + { + public: + // seed + // + typedef ::oadr2b::sig::CryptoBinary seed_type; + typedef ::xsd::cxx::tree::traits< seed_type, char > seed_traits; + + const seed_type& + seed () const; + + seed_type& + seed (); + + void + seed (const seed_type& x); + + void + seed (::std::auto_ptr< seed_type > p); + + // hashAlgorithm + // + typedef ::xml_schema::uri hashAlgorithm_type; + typedef ::xsd::cxx::tree::traits< hashAlgorithm_type, char > hashAlgorithm_traits; + + const hashAlgorithm_type& + hashAlgorithm () const; + + hashAlgorithm_type& + hashAlgorithm (); + + void + hashAlgorithm (const hashAlgorithm_type& x); + + void + hashAlgorithm (::std::auto_ptr< hashAlgorithm_type > p); + + // Constructors. + // + ECValidationDataType (const seed_type&, + const hashAlgorithm_type&); + + ECValidationDataType (::std::auto_ptr< seed_type >, + const hashAlgorithm_type&); + + ECValidationDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ECValidationDataType (const ECValidationDataType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ECValidationDataType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ECValidationDataType& + operator= (const ECValidationDataType& x); + + virtual + ~ECValidationDataType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< seed_type > seed_; + ::xsd::cxx::tree::one< hashAlgorithm_type > hashAlgorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const ECValidationDataType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ECVALIDATION_DATA_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ESPIServiceStatus.cxx b/oadrsd/oadrsd/2b/ESPIServiceStatus.cxx new file mode 100644 index 0000000..a9d16d2 --- /dev/null +++ b/oadrsd/oadrsd/2b/ESPIServiceStatus.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ESPIServiceStatus.hxx" + +namespace espi +{ + // ESPIServiceStatus + // + + ESPIServiceStatus:: + ESPIServiceStatus (const char* s) + : ::xml_schema::string (s) + { + } + + ESPIServiceStatus:: + ESPIServiceStatus (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ESPIServiceStatus:: + ESPIServiceStatus (const ESPIServiceStatus& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ESPIServiceStatus + // + + ESPIServiceStatus:: + ESPIServiceStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ESPIServiceStatus:: + ESPIServiceStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ESPIServiceStatus:: + ESPIServiceStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ESPIServiceStatus* ESPIServiceStatus:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ESPIServiceStatus (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ESPIServiceStatus > + _xsd_ESPIServiceStatus_type_factory_init ( + "ESPIServiceStatus", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ESPIServiceStatus& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ESPIServiceStatus& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ESPIServiceStatus& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ESPIServiceStatus > + _xsd_ESPIServiceStatus_type_serializer_init ( + "ESPIServiceStatus", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ESPIServiceStatus.hxx b/oadrsd/oadrsd/2b/ESPIServiceStatus.hxx new file mode 100644 index 0000000..72582c7 --- /dev/null +++ b/oadrsd/oadrsd/2b/ESPIServiceStatus.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ESPISERVICE_STATUS_HXX +#define ESPISERVICE_STATUS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ESPIServiceStatus; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ESPIServiceStatus: public ::xml_schema::string + { + public: + + ESPIServiceStatus (const char* v); + + ESPIServiceStatus (const ::std::string& v); + + ESPIServiceStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus (const ESPIServiceStatus& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ESPIServiceStatus* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ESPIServiceStatus&); + + void + operator<< (::xercesc::DOMAttr&, const ESPIServiceStatus&); + + void + operator<< (::xml_schema::list_stream&, + const ESPIServiceStatus&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ESPISERVICE_STATUS_HXX diff --git a/oadrsd/oadrsd/2b/ESPIServiceStatus_member.cxx b/oadrsd/oadrsd/2b/ESPIServiceStatus_member.cxx new file mode 100644 index 0000000..23773c0 --- /dev/null +++ b/oadrsd/oadrsd/2b/ESPIServiceStatus_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ESPIServiceStatus_member.hxx" + +namespace espi +{ + // ESPIServiceStatus_member + // + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (const ESPIServiceStatus_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ESPIServiceStatus_member + // + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + ESPIServiceStatus_member:: + ESPIServiceStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + ESPIServiceStatus_member* ESPIServiceStatus_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ESPIServiceStatus_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ESPIServiceStatus_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ESPIServiceStatus_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ESPIServiceStatus_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ESPIServiceStatus_member.hxx b/oadrsd/oadrsd/2b/ESPIServiceStatus_member.hxx new file mode 100644 index 0000000..6e374c9 --- /dev/null +++ b/oadrsd/oadrsd/2b/ESPIServiceStatus_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ESPISERVICE_STATUS_MEMBER_HXX +#define ESPISERVICE_STATUS_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ESPIServiceStatus_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class ESPIServiceStatus_member: public ::espi::UInt16 + { + public: + ESPIServiceStatus_member (::xml_schema::unsigned_short v); + + ESPIServiceStatus_member (const ::espi::UInt16& v); + + ESPIServiceStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ESPIServiceStatus_member (const ESPIServiceStatus_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ESPIServiceStatus_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ESPIServiceStatus_member&); + + void + operator<< (::xercesc::DOMAttr&, const ESPIServiceStatus_member&); + + void + operator<< (::xml_schema::list_stream&, + const ESPIServiceStatus_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ESPISERVICE_STATUS_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/EiExtensionTokenType.cxx b/oadrsd/oadrsd/2b/EiExtensionTokenType.cxx new file mode 100644 index 0000000..b5cd336 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiExtensionTokenType.cxx @@ -0,0 +1,208 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EiExtensionTokenType.hxx" + +namespace oadr2b +{ + namespace ei + { + // EiExtensionTokenType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // EiExtensionTokenType + // + + EiExtensionTokenType:: + EiExtensionTokenType () + : ::xml_schema::token () + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const char* _xsd_token_base) + : ::xml_schema::token (_xsd_token_base) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const ::std::string& _xsd_token_base) + : ::xml_schema::token (_xsd_token_base) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const ::xml_schema::token& _xsd_token_base) + : ::xml_schema::token (_xsd_token_base) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const EiExtensionTokenType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (x, f, c) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + } + + EiExtensionTokenType:: + EiExtensionTokenType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + } + + EiExtensionTokenType* EiExtensionTokenType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EiExtensionTokenType (*this, f, c); + } + + EiExtensionTokenType:: + ~EiExtensionTokenType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EiExtensionTokenType > + _xsd_EiExtensionTokenType_type_factory_init ( + "EiExtensionTokenType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const EiExtensionTokenType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const EiExtensionTokenType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const EiExtensionTokenType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EiExtensionTokenType > + _xsd_EiExtensionTokenType_type_serializer_init ( + "EiExtensionTokenType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EiExtensionTokenType.hxx b/oadrsd/oadrsd/2b/EiExtensionTokenType.hxx new file mode 100644 index 0000000..00e056b --- /dev/null +++ b/oadrsd/oadrsd/2b/EiExtensionTokenType.hxx @@ -0,0 +1,362 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_EXTENSION_TOKEN_TYPE_HXX +#define EI_EXTENSION_TOKEN_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class EiExtensionTokenType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiExtensionTokenType: public ::xml_schema::token + { + public: + // Constructors. + // + EiExtensionTokenType (); + + EiExtensionTokenType (const char*); + + EiExtensionTokenType (const ::std::string&); + + EiExtensionTokenType (const ::xml_schema::token&); + + EiExtensionTokenType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiExtensionTokenType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiExtensionTokenType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiExtensionTokenType (const EiExtensionTokenType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EiExtensionTokenType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~EiExtensionTokenType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const EiExtensionTokenType&); + + void + operator<< (::xercesc::DOMAttr&, const EiExtensionTokenType&); + + void + operator<< (::xml_schema::list_stream&, + const EiExtensionTokenType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_EXTENSION_TOKEN_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EiOptType.cxx b/oadrsd/oadrsd/2b/EiOptType.cxx new file mode 100644 index 0000000..c08fb87 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiOptType.cxx @@ -0,0 +1,897 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EiOptType.hxx" + +#include "OptTypeType.hxx" + +#include "OptReasonType.hxx" + +#include "MarketContextType.hxx" + +#include "VavailabilityType.hxx" + +#include "DateTimeType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace ei + { + // EiOptType + // + + const EiOptType::optID_type& EiOptType:: + optID () const + { + return this->optID_.get (); + } + + EiOptType::optID_type& EiOptType:: + optID () + { + return this->optID_.get (); + } + + void EiOptType:: + optID (const optID_type& x) + { + this->optID_.set (x); + } + + void EiOptType:: + optID (::std::auto_ptr< optID_type > x) + { + this->optID_.set (x); + } + + const EiOptType::optType_type& EiOptType:: + optType () const + { + return this->optType_.get (); + } + + EiOptType::optType_type& EiOptType:: + optType () + { + return this->optType_.get (); + } + + void EiOptType:: + optType (const optType_type& x) + { + this->optType_.set (x); + } + + void EiOptType:: + optType (::std::auto_ptr< optType_type > x) + { + this->optType_.set (x); + } + + const EiOptType::optReason_type& EiOptType:: + optReason () const + { + return this->optReason_.get (); + } + + EiOptType::optReason_type& EiOptType:: + optReason () + { + return this->optReason_.get (); + } + + void EiOptType:: + optReason (const optReason_type& x) + { + this->optReason_.set (x); + } + + void EiOptType:: + optReason (::std::auto_ptr< optReason_type > x) + { + this->optReason_.set (x); + } + + const EiOptType::marketContext_optional& EiOptType:: + marketContext () const + { + return this->marketContext_; + } + + EiOptType::marketContext_optional& EiOptType:: + marketContext () + { + return this->marketContext_; + } + + void EiOptType:: + marketContext (const marketContext_type& x) + { + this->marketContext_.set (x); + } + + void EiOptType:: + marketContext (const marketContext_optional& x) + { + this->marketContext_ = x; + } + + void EiOptType:: + marketContext (::std::auto_ptr< marketContext_type > x) + { + this->marketContext_.set (x); + } + + const EiOptType::venID_type& EiOptType:: + venID () const + { + return this->venID_.get (); + } + + EiOptType::venID_type& EiOptType:: + venID () + { + return this->venID_.get (); + } + + void EiOptType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void EiOptType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const EiOptType::vavailability_optional& EiOptType:: + vavailability () const + { + return this->vavailability_; + } + + EiOptType::vavailability_optional& EiOptType:: + vavailability () + { + return this->vavailability_; + } + + void EiOptType:: + vavailability (const vavailability_type& x) + { + this->vavailability_.set (x); + } + + void EiOptType:: + vavailability (const vavailability_optional& x) + { + this->vavailability_ = x; + } + + void EiOptType:: + vavailability (::std::auto_ptr< vavailability_type > x) + { + this->vavailability_.set (x); + } + + const EiOptType::createdDateTime_type& EiOptType:: + createdDateTime () const + { + return this->createdDateTime_.get (); + } + + EiOptType::createdDateTime_type& EiOptType:: + createdDateTime () + { + return this->createdDateTime_.get (); + } + + void EiOptType:: + createdDateTime (const createdDateTime_type& x) + { + this->createdDateTime_.set (x); + } + + void EiOptType:: + createdDateTime (::std::auto_ptr< createdDateTime_type > x) + { + this->createdDateTime_.set (x); + } + + const EiOptType::schemaVersion_optional& EiOptType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + EiOptType::schemaVersion_optional& EiOptType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void EiOptType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void EiOptType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void EiOptType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // EiOptType + // + + EiOptType:: + EiOptType (const optID_type& optID, + const optType_type& optType, + const optReason_type& optReason, + const venID_type& venID, + const createdDateTime_type& createdDateTime) + : ::xml_schema::type (), + optID_ (optID, this), + optType_ (optType, this), + optReason_ (optReason, this), + marketContext_ (this), + venID_ (venID, this), + vavailability_ (this), + createdDateTime_ (createdDateTime, this), + schemaVersion_ (this) + { + } + + EiOptType:: + EiOptType (::std::auto_ptr< optID_type > optID, + ::std::auto_ptr< optType_type > optType, + ::std::auto_ptr< optReason_type > optReason, + ::std::auto_ptr< venID_type > venID, + ::std::auto_ptr< createdDateTime_type > createdDateTime) + : ::xml_schema::type (), + optID_ (optID, this), + optType_ (optType, this), + optReason_ (optReason, this), + marketContext_ (this), + venID_ (venID, this), + vavailability_ (this), + createdDateTime_ (createdDateTime, this), + schemaVersion_ (this) + { + } + + EiOptType:: + EiOptType (const EiOptType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + optID_ (x.optID_, f, this), + optType_ (x.optType_, f, this), + optReason_ (x.optReason_, f, this), + marketContext_ (x.marketContext_, f, this), + venID_ (x.venID_, f, this), + vavailability_ (x.vavailability_, f, this), + createdDateTime_ (x.createdDateTime_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + EiOptType:: + EiOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + optID_ (this), + optType_ (this), + optReason_ (this), + marketContext_ (this), + venID_ (this), + vavailability_ (this), + createdDateTime_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void EiOptType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // optID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optID_.present ()) + { + ::std::auto_ptr< optID_type > r ( + dynamic_cast< optID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optID_.set (r); + continue; + } + } + } + + // optType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optType_.present ()) + { + ::std::auto_ptr< optType_type > r ( + dynamic_cast< optType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optType_.set (r); + continue; + } + } + } + + // optReason + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optReason_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optReason_.present ()) + { + ::std::auto_ptr< optReason_type > r ( + dynamic_cast< optReason_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optReason_.set (r); + continue; + } + } + } + + // marketContext + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< marketContext_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->marketContext_) + { + ::std::auto_ptr< marketContext_type > r ( + dynamic_cast< marketContext_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->marketContext_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + // vavailability + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< vavailability_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->vavailability_) + { + ::std::auto_ptr< vavailability_type > r ( + dynamic_cast< vavailability_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->vavailability_.set (r); + continue; + } + } + } + + // createdDateTime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< createdDateTime_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!createdDateTime_.present ()) + { + ::std::auto_ptr< createdDateTime_type > r ( + dynamic_cast< createdDateTime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->createdDateTime_.set (r); + continue; + } + } + } + + break; + } + + if (!optID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!optType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!optReason_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!createdDateTime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + EiOptType* EiOptType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EiOptType (*this, f, c); + } + + EiOptType& EiOptType:: + operator= (const EiOptType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->optID_ = x.optID_; + this->optType_ = x.optType_; + this->optReason_ = x.optReason_; + this->marketContext_ = x.marketContext_; + this->venID_ = x.venID_; + this->vavailability_ = x.vavailability_; + this->createdDateTime_ = x.createdDateTime_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + EiOptType:: + ~EiOptType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EiOptType > + _xsd_EiOptType_type_factory_init ( + "EiOptType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const EiOptType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // optID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiOptType::optID_type& x (i.optID ()); + if (typeid (EiOptType::optID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // optType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiOptType::optType_type& x (i.optType ()); + if (typeid (EiOptType::optType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // optReason + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiOptType::optReason_type& x (i.optReason ()); + if (typeid (EiOptType::optReason_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // marketContext + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.marketContext ()) + { + const EiOptType::marketContext_type& x (*i.marketContext ()); + if (typeid (EiOptType::marketContext_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiOptType::venID_type& x (i.venID ()); + if (typeid (EiOptType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // vavailability + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.vavailability ()) + { + const EiOptType::vavailability_type& x (*i.vavailability ()); + if (typeid (EiOptType::vavailability_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } + + // createdDateTime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiOptType::createdDateTime_type& x (i.createdDateTime ()); + if (typeid (EiOptType::createdDateTime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EiOptType > + _xsd_EiOptType_type_serializer_init ( + "EiOptType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EiOptType.hxx b/oadrsd/oadrsd/2b/EiOptType.hxx new file mode 100644 index 0000000..e405151 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiOptType.hxx @@ -0,0 +1,560 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_OPT_TYPE_HXX +#define EI_OPT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class EiOptType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class OptTypeType; + } +} + +namespace oadr2b +{ + namespace ei + { + class OptReasonType; + } +} + +namespace oadr2b +{ + namespace emix + { + class MarketContextType; + } +} + +namespace icalendar_2_0 +{ + class VavailabilityType; +} + +namespace icalendar_2_0 +{ + class DateTimeType; +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace ei + { + class EiOptType: public ::xml_schema::type + { + public: + // optID + // + typedef ::xml_schema::string optID_type; + typedef ::xsd::cxx::tree::traits< optID_type, char > optID_traits; + + const optID_type& + optID () const; + + optID_type& + optID (); + + void + optID (const optID_type& x); + + void + optID (::std::auto_ptr< optID_type > p); + + // optType + // + typedef ::oadr2b::ei::OptTypeType optType_type; + typedef ::xsd::cxx::tree::traits< optType_type, char > optType_traits; + + const optType_type& + optType () const; + + optType_type& + optType (); + + void + optType (const optType_type& x); + + void + optType (::std::auto_ptr< optType_type > p); + + // optReason + // + typedef ::oadr2b::ei::OptReasonType optReason_type; + typedef ::xsd::cxx::tree::traits< optReason_type, char > optReason_traits; + + const optReason_type& + optReason () const; + + optReason_type& + optReason (); + + void + optReason (const optReason_type& x); + + void + optReason (::std::auto_ptr< optReason_type > p); + + // marketContext + // + typedef ::oadr2b::emix::MarketContextType marketContext_type; + typedef ::xsd::cxx::tree::optional< marketContext_type > marketContext_optional; + typedef ::xsd::cxx::tree::traits< marketContext_type, char > marketContext_traits; + + const marketContext_optional& + marketContext () const; + + marketContext_optional& + marketContext (); + + void + marketContext (const marketContext_type& x); + + void + marketContext (const marketContext_optional& x); + + void + marketContext (::std::auto_ptr< marketContext_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // vavailability + // + typedef ::icalendar_2_0::VavailabilityType vavailability_type; + typedef ::xsd::cxx::tree::optional< vavailability_type > vavailability_optional; + typedef ::xsd::cxx::tree::traits< vavailability_type, char > vavailability_traits; + + const vavailability_optional& + vavailability () const; + + vavailability_optional& + vavailability (); + + void + vavailability (const vavailability_type& x); + + void + vavailability (const vavailability_optional& x); + + void + vavailability (::std::auto_ptr< vavailability_type > p); + + // createdDateTime + // + typedef ::icalendar_2_0::DateTimeType createdDateTime_type; + typedef ::xsd::cxx::tree::traits< createdDateTime_type, char > createdDateTime_traits; + + const createdDateTime_type& + createdDateTime () const; + + createdDateTime_type& + createdDateTime (); + + void + createdDateTime (const createdDateTime_type& x); + + void + createdDateTime (::std::auto_ptr< createdDateTime_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + EiOptType (const optID_type&, + const optType_type&, + const optReason_type&, + const venID_type&, + const createdDateTime_type&); + + EiOptType (::std::auto_ptr< optID_type >, + ::std::auto_ptr< optType_type >, + ::std::auto_ptr< optReason_type >, + ::std::auto_ptr< venID_type >, + ::std::auto_ptr< createdDateTime_type >); + + EiOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiOptType (const EiOptType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EiOptType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EiOptType& + operator= (const EiOptType& x); + + virtual + ~EiOptType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< optID_type > optID_; + ::xsd::cxx::tree::one< optType_type > optType_; + ::xsd::cxx::tree::one< optReason_type > optReason_; + marketContext_optional marketContext_; + ::xsd::cxx::tree::one< venID_type > venID_; + vavailability_optional vavailability_; + ::xsd::cxx::tree::one< createdDateTime_type > createdDateTime_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const EiOptType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_OPT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EiResponseType.cxx b/oadrsd/oadrsd/2b/EiResponseType.cxx new file mode 100644 index 0000000..c2209f7 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiResponseType.cxx @@ -0,0 +1,466 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EiResponseType.hxx" + +#include "ResponseCodeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // EiResponseType + // + + const EiResponseType::responseCode_type& EiResponseType:: + responseCode () const + { + return this->responseCode_.get (); + } + + EiResponseType::responseCode_type& EiResponseType:: + responseCode () + { + return this->responseCode_.get (); + } + + void EiResponseType:: + responseCode (const responseCode_type& x) + { + this->responseCode_.set (x); + } + + void EiResponseType:: + responseCode (::std::auto_ptr< responseCode_type > x) + { + this->responseCode_.set (x); + } + + const EiResponseType::responseDescription_optional& EiResponseType:: + responseDescription () const + { + return this->responseDescription_; + } + + EiResponseType::responseDescription_optional& EiResponseType:: + responseDescription () + { + return this->responseDescription_; + } + + void EiResponseType:: + responseDescription (const responseDescription_type& x) + { + this->responseDescription_.set (x); + } + + void EiResponseType:: + responseDescription (const responseDescription_optional& x) + { + this->responseDescription_ = x; + } + + void EiResponseType:: + responseDescription (::std::auto_ptr< responseDescription_type > x) + { + this->responseDescription_.set (x); + } + + const EiResponseType::requestID_type& EiResponseType:: + requestID () const + { + return this->requestID_.get (); + } + + EiResponseType::requestID_type& EiResponseType:: + requestID () + { + return this->requestID_.get (); + } + + void EiResponseType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void EiResponseType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // EiResponseType + // + + EiResponseType:: + EiResponseType (const responseCode_type& responseCode, + const requestID_type& requestID) + : ::xml_schema::type (), + responseCode_ (responseCode, this), + responseDescription_ (this), + requestID_ (requestID, this) + { + } + + EiResponseType:: + EiResponseType (::std::auto_ptr< responseCode_type > responseCode, + ::std::auto_ptr< requestID_type > requestID) + : ::xml_schema::type (), + responseCode_ (responseCode, this), + responseDescription_ (this), + requestID_ (requestID, this) + { + } + + EiResponseType:: + EiResponseType (const EiResponseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + responseCode_ (x.responseCode_, f, this), + responseDescription_ (x.responseDescription_, f, this), + requestID_ (x.requestID_, f, this) + { + } + + EiResponseType:: + EiResponseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + responseCode_ (this), + responseDescription_ (this), + requestID_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void EiResponseType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // responseCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< responseCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!responseCode_.present ()) + { + ::std::auto_ptr< responseCode_type > r ( + dynamic_cast< responseCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->responseCode_.set (r); + continue; + } + } + } + + // responseDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< responseDescription_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->responseDescription_) + { + ::std::auto_ptr< responseDescription_type > r ( + dynamic_cast< responseDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->responseDescription_.set (r); + continue; + } + } + } + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + break; + } + + if (!responseCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + + EiResponseType* EiResponseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EiResponseType (*this, f, c); + } + + EiResponseType& EiResponseType:: + operator= (const EiResponseType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->responseCode_ = x.responseCode_; + this->responseDescription_ = x.responseDescription_; + this->requestID_ = x.requestID_; + } + + return *this; + } + + EiResponseType:: + ~EiResponseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EiResponseType > + _xsd_EiResponseType_type_factory_init ( + "EiResponseType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const EiResponseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // responseCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiResponseType::responseCode_type& x (i.responseCode ()); + if (typeid (EiResponseType::responseCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // responseDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.responseDescription ()) + { + const EiResponseType::responseDescription_type& x (*i.responseDescription ()); + if (typeid (EiResponseType::responseDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EiResponseType::requestID_type& x (i.requestID ()); + if (typeid (EiResponseType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EiResponseType > + _xsd_EiResponseType_type_serializer_init ( + "EiResponseType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EiResponseType.hxx b/oadrsd/oadrsd/2b/EiResponseType.hxx new file mode 100644 index 0000000..e0b5ae4 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiResponseType.hxx @@ -0,0 +1,422 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_RESPONSE_TYPE_HXX +#define EI_RESPONSE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ResponseCodeType; + } +} + +namespace oadr2b +{ + namespace ei + { + class EiResponseType: public ::xml_schema::type + { + public: + // responseCode + // + typedef ::oadr2b::ei::ResponseCodeType responseCode_type; + typedef ::xsd::cxx::tree::traits< responseCode_type, char > responseCode_traits; + + const responseCode_type& + responseCode () const; + + responseCode_type& + responseCode (); + + void + responseCode (const responseCode_type& x); + + void + responseCode (::std::auto_ptr< responseCode_type > p); + + // responseDescription + // + typedef ::xml_schema::string responseDescription_type; + typedef ::xsd::cxx::tree::optional< responseDescription_type > responseDescription_optional; + typedef ::xsd::cxx::tree::traits< responseDescription_type, char > responseDescription_traits; + + const responseDescription_optional& + responseDescription () const; + + responseDescription_optional& + responseDescription (); + + void + responseDescription (const responseDescription_type& x); + + void + responseDescription (const responseDescription_optional& x); + + void + responseDescription (::std::auto_ptr< responseDescription_type > p); + + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // Constructors. + // + EiResponseType (const responseCode_type&, + const requestID_type&); + + EiResponseType (::std::auto_ptr< responseCode_type >, + ::std::auto_ptr< requestID_type >); + + EiResponseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiResponseType (const EiResponseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EiResponseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EiResponseType& + operator= (const EiResponseType& x); + + virtual + ~EiResponseType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< responseCode_type > responseCode_; + responseDescription_optional responseDescription_; + ::xsd::cxx::tree::one< requestID_type > requestID_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const EiResponseType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_RESPONSE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EiTargetType.cxx b/oadrsd/oadrsd/2b/EiTargetType.cxx new file mode 100644 index 0000000..cbcb81e --- /dev/null +++ b/oadrsd/oadrsd/2b/EiTargetType.cxx @@ -0,0 +1,1181 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EiTargetType.hxx" + +#include "AggregatedPnodeType.hxx" + +#include "EndDeviceAssetType.hxx" + +#include "MeterAssetType.hxx" + +#include "PnodeType.hxx" + +#include "ServiceAreaType.hxx" + +#include "ServiceDeliveryPointType.hxx" + +#include "ServiceLocationType.hxx" + +#include "TransportInterfaceType.hxx" + +namespace oadr2b +{ + namespace ei + { + // EiTargetType + // + + const EiTargetType::aggregatedPnode_sequence& EiTargetType:: + aggregatedPnode () const + { + return this->aggregatedPnode_; + } + + EiTargetType::aggregatedPnode_sequence& EiTargetType:: + aggregatedPnode () + { + return this->aggregatedPnode_; + } + + void EiTargetType:: + aggregatedPnode (const aggregatedPnode_sequence& s) + { + this->aggregatedPnode_ = s; + } + + const EiTargetType::endDeviceAsset_sequence& EiTargetType:: + endDeviceAsset () const + { + return this->endDeviceAsset_; + } + + EiTargetType::endDeviceAsset_sequence& EiTargetType:: + endDeviceAsset () + { + return this->endDeviceAsset_; + } + + void EiTargetType:: + endDeviceAsset (const endDeviceAsset_sequence& s) + { + this->endDeviceAsset_ = s; + } + + const EiTargetType::meterAsset_sequence& EiTargetType:: + meterAsset () const + { + return this->meterAsset_; + } + + EiTargetType::meterAsset_sequence& EiTargetType:: + meterAsset () + { + return this->meterAsset_; + } + + void EiTargetType:: + meterAsset (const meterAsset_sequence& s) + { + this->meterAsset_ = s; + } + + const EiTargetType::pnode_sequence& EiTargetType:: + pnode () const + { + return this->pnode_; + } + + EiTargetType::pnode_sequence& EiTargetType:: + pnode () + { + return this->pnode_; + } + + void EiTargetType:: + pnode (const pnode_sequence& s) + { + this->pnode_ = s; + } + + const EiTargetType::serviceArea_sequence& EiTargetType:: + serviceArea () const + { + return this->serviceArea_; + } + + EiTargetType::serviceArea_sequence& EiTargetType:: + serviceArea () + { + return this->serviceArea_; + } + + void EiTargetType:: + serviceArea (const serviceArea_sequence& s) + { + this->serviceArea_ = s; + } + + const EiTargetType::serviceDeliveryPoint_sequence& EiTargetType:: + serviceDeliveryPoint () const + { + return this->serviceDeliveryPoint_; + } + + EiTargetType::serviceDeliveryPoint_sequence& EiTargetType:: + serviceDeliveryPoint () + { + return this->serviceDeliveryPoint_; + } + + void EiTargetType:: + serviceDeliveryPoint (const serviceDeliveryPoint_sequence& s) + { + this->serviceDeliveryPoint_ = s; + } + + const EiTargetType::serviceLocation_sequence& EiTargetType:: + serviceLocation () const + { + return this->serviceLocation_; + } + + EiTargetType::serviceLocation_sequence& EiTargetType:: + serviceLocation () + { + return this->serviceLocation_; + } + + void EiTargetType:: + serviceLocation (const serviceLocation_sequence& s) + { + this->serviceLocation_ = s; + } + + const EiTargetType::transportInterface_sequence& EiTargetType:: + transportInterface () const + { + return this->transportInterface_; + } + + EiTargetType::transportInterface_sequence& EiTargetType:: + transportInterface () + { + return this->transportInterface_; + } + + void EiTargetType:: + transportInterface (const transportInterface_sequence& s) + { + this->transportInterface_ = s; + } + + const EiTargetType::groupID_sequence& EiTargetType:: + groupID () const + { + return this->groupID_; + } + + EiTargetType::groupID_sequence& EiTargetType:: + groupID () + { + return this->groupID_; + } + + void EiTargetType:: + groupID (const groupID_sequence& s) + { + this->groupID_ = s; + } + + const EiTargetType::groupName_sequence& EiTargetType:: + groupName () const + { + return this->groupName_; + } + + EiTargetType::groupName_sequence& EiTargetType:: + groupName () + { + return this->groupName_; + } + + void EiTargetType:: + groupName (const groupName_sequence& s) + { + this->groupName_ = s; + } + + const EiTargetType::resourceID_sequence& EiTargetType:: + resourceID () const + { + return this->resourceID_; + } + + EiTargetType::resourceID_sequence& EiTargetType:: + resourceID () + { + return this->resourceID_; + } + + void EiTargetType:: + resourceID (const resourceID_sequence& s) + { + this->resourceID_ = s; + } + + const EiTargetType::venID_sequence& EiTargetType:: + venID () const + { + return this->venID_; + } + + EiTargetType::venID_sequence& EiTargetType:: + venID () + { + return this->venID_; + } + + void EiTargetType:: + venID (const venID_sequence& s) + { + this->venID_ = s; + } + + const EiTargetType::partyID_sequence& EiTargetType:: + partyID () const + { + return this->partyID_; + } + + EiTargetType::partyID_sequence& EiTargetType:: + partyID () + { + return this->partyID_; + } + + void EiTargetType:: + partyID (const partyID_sequence& s) + { + this->partyID_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // EiTargetType + // + + EiTargetType:: + EiTargetType () + : ::xml_schema::type (), + aggregatedPnode_ (this), + endDeviceAsset_ (this), + meterAsset_ (this), + pnode_ (this), + serviceArea_ (this), + serviceDeliveryPoint_ (this), + serviceLocation_ (this), + transportInterface_ (this), + groupID_ (this), + groupName_ (this), + resourceID_ (this), + venID_ (this), + partyID_ (this) + { + } + + EiTargetType:: + EiTargetType (const EiTargetType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + aggregatedPnode_ (x.aggregatedPnode_, f, this), + endDeviceAsset_ (x.endDeviceAsset_, f, this), + meterAsset_ (x.meterAsset_, f, this), + pnode_ (x.pnode_, f, this), + serviceArea_ (x.serviceArea_, f, this), + serviceDeliveryPoint_ (x.serviceDeliveryPoint_, f, this), + serviceLocation_ (x.serviceLocation_, f, this), + transportInterface_ (x.transportInterface_, f, this), + groupID_ (x.groupID_, f, this), + groupName_ (x.groupName_, f, this), + resourceID_ (x.resourceID_, f, this), + venID_ (x.venID_, f, this), + partyID_ (x.partyID_, f, this) + { + } + + EiTargetType:: + EiTargetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + aggregatedPnode_ (this), + endDeviceAsset_ (this), + meterAsset_ (this), + pnode_ (this), + serviceArea_ (this), + serviceDeliveryPoint_ (this), + serviceLocation_ (this), + transportInterface_ (this), + groupID_ (this), + groupName_ (this), + resourceID_ (this), + venID_ (this), + partyID_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void EiTargetType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // aggregatedPnode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< aggregatedPnode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< aggregatedPnode_type > r ( + dynamic_cast< aggregatedPnode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->aggregatedPnode_.push_back (r); + continue; + } + } + + // endDeviceAsset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< endDeviceAsset_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< endDeviceAsset_type > r ( + dynamic_cast< endDeviceAsset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->endDeviceAsset_.push_back (r); + continue; + } + } + + // meterAsset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< meterAsset_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< meterAsset_type > r ( + dynamic_cast< meterAsset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->meterAsset_.push_back (r); + continue; + } + } + + // pnode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< pnode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< pnode_type > r ( + dynamic_cast< pnode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->pnode_.push_back (r); + continue; + } + } + + // serviceArea + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< serviceArea_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< serviceArea_type > r ( + dynamic_cast< serviceArea_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->serviceArea_.push_back (r); + continue; + } + } + + // serviceDeliveryPoint + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< serviceDeliveryPoint_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< serviceDeliveryPoint_type > r ( + dynamic_cast< serviceDeliveryPoint_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->serviceDeliveryPoint_.push_back (r); + continue; + } + } + + // serviceLocation + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< serviceLocation_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< serviceLocation_type > r ( + dynamic_cast< serviceLocation_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->serviceLocation_.push_back (r); + continue; + } + } + + // transportInterface + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< transportInterface_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< transportInterface_type > r ( + dynamic_cast< transportInterface_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->transportInterface_.push_back (r); + continue; + } + } + + // groupID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< groupID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< groupID_type > r ( + dynamic_cast< groupID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->groupID_.push_back (r); + continue; + } + } + + // groupName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< groupName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< groupName_type > r ( + dynamic_cast< groupName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->groupName_.push_back (r); + continue; + } + } + + // resourceID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< resourceID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< resourceID_type > r ( + dynamic_cast< resourceID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->resourceID_.push_back (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.push_back (r); + continue; + } + } + + // partyID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< partyID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< partyID_type > r ( + dynamic_cast< partyID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->partyID_.push_back (r); + continue; + } + } + + break; + } + } + + EiTargetType* EiTargetType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EiTargetType (*this, f, c); + } + + EiTargetType& EiTargetType:: + operator= (const EiTargetType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->aggregatedPnode_ = x.aggregatedPnode_; + this->endDeviceAsset_ = x.endDeviceAsset_; + this->meterAsset_ = x.meterAsset_; + this->pnode_ = x.pnode_; + this->serviceArea_ = x.serviceArea_; + this->serviceDeliveryPoint_ = x.serviceDeliveryPoint_; + this->serviceLocation_ = x.serviceLocation_; + this->transportInterface_ = x.transportInterface_; + this->groupID_ = x.groupID_; + this->groupName_ = x.groupName_; + this->resourceID_ = x.resourceID_; + this->venID_ = x.venID_; + this->partyID_ = x.partyID_; + } + + return *this; + } + + EiTargetType:: + ~EiTargetType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EiTargetType > + _xsd_EiTargetType_type_factory_init ( + "EiTargetType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const EiTargetType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // aggregatedPnode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::aggregatedPnode_const_iterator + b (i.aggregatedPnode ().begin ()), n (i.aggregatedPnode ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::aggregatedPnode_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // endDeviceAsset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::endDeviceAsset_const_iterator + b (i.endDeviceAsset ().begin ()), n (i.endDeviceAsset ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::endDeviceAsset_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // meterAsset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::meterAsset_const_iterator + b (i.meterAsset ().begin ()), n (i.meterAsset ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::meterAsset_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // pnode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::pnode_const_iterator + b (i.pnode ().begin ()), n (i.pnode ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::pnode_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // serviceArea + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::serviceArea_const_iterator + b (i.serviceArea ().begin ()), n (i.serviceArea ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::serviceArea_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << *b; + } + else + tsm.serialize ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, *b); + } + } + + // serviceDeliveryPoint + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::serviceDeliveryPoint_const_iterator + b (i.serviceDeliveryPoint ().begin ()), n (i.serviceDeliveryPoint ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::serviceDeliveryPoint_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // serviceLocation + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::serviceLocation_const_iterator + b (i.serviceLocation ().begin ()), n (i.serviceLocation ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::serviceLocation_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // transportInterface + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::transportInterface_const_iterator + b (i.transportInterface ().begin ()), n (i.transportInterface ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::transportInterface_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << *b; + } + else + tsm.serialize ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, *b); + } + } + + // groupID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::groupID_const_iterator + b (i.groupID ().begin ()), n (i.groupID ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::groupID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // groupName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::groupName_const_iterator + b (i.groupName ().begin ()), n (i.groupName ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::groupName_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // resourceID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::resourceID_const_iterator + b (i.resourceID ().begin ()), n (i.resourceID ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::resourceID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::venID_const_iterator + b (i.venID ().begin ()), n (i.venID ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::venID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // partyID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (EiTargetType::partyID_const_iterator + b (i.partyID ().begin ()), n (i.partyID ().end ()); + b != n; ++b) + { + if (typeid (EiTargetType::partyID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EiTargetType > + _xsd_EiTargetType_type_serializer_init ( + "EiTargetType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EiTargetType.hxx b/oadrsd/oadrsd/2b/EiTargetType.hxx new file mode 100644 index 0000000..c0dfd62 --- /dev/null +++ b/oadrsd/oadrsd/2b/EiTargetType.hxx @@ -0,0 +1,629 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_TARGET_TYPE_HXX +#define EI_TARGET_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class EiTargetType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class AggregatedPnodeType; +} + +namespace power +{ + class EndDeviceAssetType; +} + +namespace power +{ + class MeterAssetType; +} + +namespace power +{ + class PnodeType; +} + +namespace oadr2b +{ + namespace emix + { + class ServiceAreaType; + } +} + +namespace power +{ + class ServiceDeliveryPointType; +} + +namespace power +{ + class ServiceLocationType; +} + +namespace power +{ + class TransportInterfaceType; +} + +namespace oadr2b +{ + namespace ei + { + class EiTargetType: public ::xml_schema::type + { + public: + // aggregatedPnode + // + typedef ::power::AggregatedPnodeType aggregatedPnode_type; + typedef ::xsd::cxx::tree::sequence< aggregatedPnode_type > aggregatedPnode_sequence; + typedef aggregatedPnode_sequence::iterator aggregatedPnode_iterator; + typedef aggregatedPnode_sequence::const_iterator aggregatedPnode_const_iterator; + typedef ::xsd::cxx::tree::traits< aggregatedPnode_type, char > aggregatedPnode_traits; + + const aggregatedPnode_sequence& + aggregatedPnode () const; + + aggregatedPnode_sequence& + aggregatedPnode (); + + void + aggregatedPnode (const aggregatedPnode_sequence& s); + + // endDeviceAsset + // + typedef ::power::EndDeviceAssetType endDeviceAsset_type; + typedef ::xsd::cxx::tree::sequence< endDeviceAsset_type > endDeviceAsset_sequence; + typedef endDeviceAsset_sequence::iterator endDeviceAsset_iterator; + typedef endDeviceAsset_sequence::const_iterator endDeviceAsset_const_iterator; + typedef ::xsd::cxx::tree::traits< endDeviceAsset_type, char > endDeviceAsset_traits; + + const endDeviceAsset_sequence& + endDeviceAsset () const; + + endDeviceAsset_sequence& + endDeviceAsset (); + + void + endDeviceAsset (const endDeviceAsset_sequence& s); + + // meterAsset + // + typedef ::power::MeterAssetType meterAsset_type; + typedef ::xsd::cxx::tree::sequence< meterAsset_type > meterAsset_sequence; + typedef meterAsset_sequence::iterator meterAsset_iterator; + typedef meterAsset_sequence::const_iterator meterAsset_const_iterator; + typedef ::xsd::cxx::tree::traits< meterAsset_type, char > meterAsset_traits; + + const meterAsset_sequence& + meterAsset () const; + + meterAsset_sequence& + meterAsset (); + + void + meterAsset (const meterAsset_sequence& s); + + // pnode + // + typedef ::power::PnodeType pnode_type; + typedef ::xsd::cxx::tree::sequence< pnode_type > pnode_sequence; + typedef pnode_sequence::iterator pnode_iterator; + typedef pnode_sequence::const_iterator pnode_const_iterator; + typedef ::xsd::cxx::tree::traits< pnode_type, char > pnode_traits; + + const pnode_sequence& + pnode () const; + + pnode_sequence& + pnode (); + + void + pnode (const pnode_sequence& s); + + // serviceArea + // + typedef ::oadr2b::emix::ServiceAreaType serviceArea_type; + typedef ::xsd::cxx::tree::sequence< serviceArea_type > serviceArea_sequence; + typedef serviceArea_sequence::iterator serviceArea_iterator; + typedef serviceArea_sequence::const_iterator serviceArea_const_iterator; + typedef ::xsd::cxx::tree::traits< serviceArea_type, char > serviceArea_traits; + + const serviceArea_sequence& + serviceArea () const; + + serviceArea_sequence& + serviceArea (); + + void + serviceArea (const serviceArea_sequence& s); + + // serviceDeliveryPoint + // + typedef ::power::ServiceDeliveryPointType serviceDeliveryPoint_type; + typedef ::xsd::cxx::tree::sequence< serviceDeliveryPoint_type > serviceDeliveryPoint_sequence; + typedef serviceDeliveryPoint_sequence::iterator serviceDeliveryPoint_iterator; + typedef serviceDeliveryPoint_sequence::const_iterator serviceDeliveryPoint_const_iterator; + typedef ::xsd::cxx::tree::traits< serviceDeliveryPoint_type, char > serviceDeliveryPoint_traits; + + const serviceDeliveryPoint_sequence& + serviceDeliveryPoint () const; + + serviceDeliveryPoint_sequence& + serviceDeliveryPoint (); + + void + serviceDeliveryPoint (const serviceDeliveryPoint_sequence& s); + + // serviceLocation + // + typedef ::power::ServiceLocationType serviceLocation_type; + typedef ::xsd::cxx::tree::sequence< serviceLocation_type > serviceLocation_sequence; + typedef serviceLocation_sequence::iterator serviceLocation_iterator; + typedef serviceLocation_sequence::const_iterator serviceLocation_const_iterator; + typedef ::xsd::cxx::tree::traits< serviceLocation_type, char > serviceLocation_traits; + + const serviceLocation_sequence& + serviceLocation () const; + + serviceLocation_sequence& + serviceLocation (); + + void + serviceLocation (const serviceLocation_sequence& s); + + // transportInterface + // + typedef ::power::TransportInterfaceType transportInterface_type; + typedef ::xsd::cxx::tree::sequence< transportInterface_type > transportInterface_sequence; + typedef transportInterface_sequence::iterator transportInterface_iterator; + typedef transportInterface_sequence::const_iterator transportInterface_const_iterator; + typedef ::xsd::cxx::tree::traits< transportInterface_type, char > transportInterface_traits; + + const transportInterface_sequence& + transportInterface () const; + + transportInterface_sequence& + transportInterface (); + + void + transportInterface (const transportInterface_sequence& s); + + // groupID + // + typedef ::xml_schema::string groupID_type; + typedef ::xsd::cxx::tree::sequence< groupID_type > groupID_sequence; + typedef groupID_sequence::iterator groupID_iterator; + typedef groupID_sequence::const_iterator groupID_const_iterator; + typedef ::xsd::cxx::tree::traits< groupID_type, char > groupID_traits; + + const groupID_sequence& + groupID () const; + + groupID_sequence& + groupID (); + + void + groupID (const groupID_sequence& s); + + // groupName + // + typedef ::xml_schema::string groupName_type; + typedef ::xsd::cxx::tree::sequence< groupName_type > groupName_sequence; + typedef groupName_sequence::iterator groupName_iterator; + typedef groupName_sequence::const_iterator groupName_const_iterator; + typedef ::xsd::cxx::tree::traits< groupName_type, char > groupName_traits; + + const groupName_sequence& + groupName () const; + + groupName_sequence& + groupName (); + + void + groupName (const groupName_sequence& s); + + // resourceID + // + typedef ::xml_schema::string resourceID_type; + typedef ::xsd::cxx::tree::sequence< resourceID_type > resourceID_sequence; + typedef resourceID_sequence::iterator resourceID_iterator; + typedef resourceID_sequence::const_iterator resourceID_const_iterator; + typedef ::xsd::cxx::tree::traits< resourceID_type, char > resourceID_traits; + + const resourceID_sequence& + resourceID () const; + + resourceID_sequence& + resourceID (); + + void + resourceID (const resourceID_sequence& s); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::sequence< venID_type > venID_sequence; + typedef venID_sequence::iterator venID_iterator; + typedef venID_sequence::const_iterator venID_const_iterator; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_sequence& + venID () const; + + venID_sequence& + venID (); + + void + venID (const venID_sequence& s); + + // partyID + // + typedef ::xml_schema::string partyID_type; + typedef ::xsd::cxx::tree::sequence< partyID_type > partyID_sequence; + typedef partyID_sequence::iterator partyID_iterator; + typedef partyID_sequence::const_iterator partyID_const_iterator; + typedef ::xsd::cxx::tree::traits< partyID_type, char > partyID_traits; + + const partyID_sequence& + partyID () const; + + partyID_sequence& + partyID (); + + void + partyID (const partyID_sequence& s); + + // Constructors. + // + EiTargetType (); + + EiTargetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EiTargetType (const EiTargetType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EiTargetType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EiTargetType& + operator= (const EiTargetType& x); + + virtual + ~EiTargetType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + aggregatedPnode_sequence aggregatedPnode_; + endDeviceAsset_sequence endDeviceAsset_; + meterAsset_sequence meterAsset_; + pnode_sequence pnode_; + serviceArea_sequence serviceArea_; + serviceDeliveryPoint_sequence serviceDeliveryPoint_; + serviceLocation_sequence serviceLocation_; + transportInterface_sequence transportInterface_; + groupID_sequence groupID_; + groupName_sequence groupName_; + resourceID_sequence resourceID_; + venID_sequence venID_; + partyID_sequence partyID_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const EiTargetType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_TARGET_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.cxx b/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.cxx new file mode 100644 index 0000000..6483b2d --- /dev/null +++ b/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.cxx @@ -0,0 +1,1450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ElectricPowerQualitySummary.hxx" + +#include "Int48.hxx" + +#include "UInt8.hxx" + +#include "DateTimeInterval.hxx" + +namespace espi +{ + // ElectricPowerQualitySummary + // + + const ElectricPowerQualitySummary::flickerPlt_optional& ElectricPowerQualitySummary:: + flickerPlt () const + { + return this->flickerPlt_; + } + + ElectricPowerQualitySummary::flickerPlt_optional& ElectricPowerQualitySummary:: + flickerPlt () + { + return this->flickerPlt_; + } + + void ElectricPowerQualitySummary:: + flickerPlt (const flickerPlt_type& x) + { + this->flickerPlt_.set (x); + } + + void ElectricPowerQualitySummary:: + flickerPlt (const flickerPlt_optional& x) + { + this->flickerPlt_ = x; + } + + void ElectricPowerQualitySummary:: + flickerPlt (::std::auto_ptr< flickerPlt_type > x) + { + this->flickerPlt_.set (x); + } + + const ElectricPowerQualitySummary::flickerPst_optional& ElectricPowerQualitySummary:: + flickerPst () const + { + return this->flickerPst_; + } + + ElectricPowerQualitySummary::flickerPst_optional& ElectricPowerQualitySummary:: + flickerPst () + { + return this->flickerPst_; + } + + void ElectricPowerQualitySummary:: + flickerPst (const flickerPst_type& x) + { + this->flickerPst_.set (x); + } + + void ElectricPowerQualitySummary:: + flickerPst (const flickerPst_optional& x) + { + this->flickerPst_ = x; + } + + void ElectricPowerQualitySummary:: + flickerPst (::std::auto_ptr< flickerPst_type > x) + { + this->flickerPst_.set (x); + } + + const ElectricPowerQualitySummary::harmonicVoltage_optional& ElectricPowerQualitySummary:: + harmonicVoltage () const + { + return this->harmonicVoltage_; + } + + ElectricPowerQualitySummary::harmonicVoltage_optional& ElectricPowerQualitySummary:: + harmonicVoltage () + { + return this->harmonicVoltage_; + } + + void ElectricPowerQualitySummary:: + harmonicVoltage (const harmonicVoltage_type& x) + { + this->harmonicVoltage_.set (x); + } + + void ElectricPowerQualitySummary:: + harmonicVoltage (const harmonicVoltage_optional& x) + { + this->harmonicVoltage_ = x; + } + + void ElectricPowerQualitySummary:: + harmonicVoltage (::std::auto_ptr< harmonicVoltage_type > x) + { + this->harmonicVoltage_.set (x); + } + + const ElectricPowerQualitySummary::longInterruptions_optional& ElectricPowerQualitySummary:: + longInterruptions () const + { + return this->longInterruptions_; + } + + ElectricPowerQualitySummary::longInterruptions_optional& ElectricPowerQualitySummary:: + longInterruptions () + { + return this->longInterruptions_; + } + + void ElectricPowerQualitySummary:: + longInterruptions (const longInterruptions_type& x) + { + this->longInterruptions_.set (x); + } + + void ElectricPowerQualitySummary:: + longInterruptions (const longInterruptions_optional& x) + { + this->longInterruptions_ = x; + } + + void ElectricPowerQualitySummary:: + longInterruptions (::std::auto_ptr< longInterruptions_type > x) + { + this->longInterruptions_.set (x); + } + + const ElectricPowerQualitySummary::mainsVoltage_optional& ElectricPowerQualitySummary:: + mainsVoltage () const + { + return this->mainsVoltage_; + } + + ElectricPowerQualitySummary::mainsVoltage_optional& ElectricPowerQualitySummary:: + mainsVoltage () + { + return this->mainsVoltage_; + } + + void ElectricPowerQualitySummary:: + mainsVoltage (const mainsVoltage_type& x) + { + this->mainsVoltage_.set (x); + } + + void ElectricPowerQualitySummary:: + mainsVoltage (const mainsVoltage_optional& x) + { + this->mainsVoltage_ = x; + } + + void ElectricPowerQualitySummary:: + mainsVoltage (::std::auto_ptr< mainsVoltage_type > x) + { + this->mainsVoltage_.set (x); + } + + const ElectricPowerQualitySummary::measurementProtocol_optional& ElectricPowerQualitySummary:: + measurementProtocol () const + { + return this->measurementProtocol_; + } + + ElectricPowerQualitySummary::measurementProtocol_optional& ElectricPowerQualitySummary:: + measurementProtocol () + { + return this->measurementProtocol_; + } + + void ElectricPowerQualitySummary:: + measurementProtocol (const measurementProtocol_type& x) + { + this->measurementProtocol_.set (x); + } + + void ElectricPowerQualitySummary:: + measurementProtocol (const measurementProtocol_optional& x) + { + this->measurementProtocol_ = x; + } + + void ElectricPowerQualitySummary:: + measurementProtocol (::std::auto_ptr< measurementProtocol_type > x) + { + this->measurementProtocol_.set (x); + } + + const ElectricPowerQualitySummary::powerFrequency_optional& ElectricPowerQualitySummary:: + powerFrequency () const + { + return this->powerFrequency_; + } + + ElectricPowerQualitySummary::powerFrequency_optional& ElectricPowerQualitySummary:: + powerFrequency () + { + return this->powerFrequency_; + } + + void ElectricPowerQualitySummary:: + powerFrequency (const powerFrequency_type& x) + { + this->powerFrequency_.set (x); + } + + void ElectricPowerQualitySummary:: + powerFrequency (const powerFrequency_optional& x) + { + this->powerFrequency_ = x; + } + + void ElectricPowerQualitySummary:: + powerFrequency (::std::auto_ptr< powerFrequency_type > x) + { + this->powerFrequency_.set (x); + } + + const ElectricPowerQualitySummary::rapidVoltageChanges_optional& ElectricPowerQualitySummary:: + rapidVoltageChanges () const + { + return this->rapidVoltageChanges_; + } + + ElectricPowerQualitySummary::rapidVoltageChanges_optional& ElectricPowerQualitySummary:: + rapidVoltageChanges () + { + return this->rapidVoltageChanges_; + } + + void ElectricPowerQualitySummary:: + rapidVoltageChanges (const rapidVoltageChanges_type& x) + { + this->rapidVoltageChanges_.set (x); + } + + void ElectricPowerQualitySummary:: + rapidVoltageChanges (const rapidVoltageChanges_optional& x) + { + this->rapidVoltageChanges_ = x; + } + + void ElectricPowerQualitySummary:: + rapidVoltageChanges (::std::auto_ptr< rapidVoltageChanges_type > x) + { + this->rapidVoltageChanges_.set (x); + } + + const ElectricPowerQualitySummary::shortInterruptions_optional& ElectricPowerQualitySummary:: + shortInterruptions () const + { + return this->shortInterruptions_; + } + + ElectricPowerQualitySummary::shortInterruptions_optional& ElectricPowerQualitySummary:: + shortInterruptions () + { + return this->shortInterruptions_; + } + + void ElectricPowerQualitySummary:: + shortInterruptions (const shortInterruptions_type& x) + { + this->shortInterruptions_.set (x); + } + + void ElectricPowerQualitySummary:: + shortInterruptions (const shortInterruptions_optional& x) + { + this->shortInterruptions_ = x; + } + + void ElectricPowerQualitySummary:: + shortInterruptions (::std::auto_ptr< shortInterruptions_type > x) + { + this->shortInterruptions_.set (x); + } + + const ElectricPowerQualitySummary::summaryInterval_type& ElectricPowerQualitySummary:: + summaryInterval () const + { + return this->summaryInterval_.get (); + } + + ElectricPowerQualitySummary::summaryInterval_type& ElectricPowerQualitySummary:: + summaryInterval () + { + return this->summaryInterval_.get (); + } + + void ElectricPowerQualitySummary:: + summaryInterval (const summaryInterval_type& x) + { + this->summaryInterval_.set (x); + } + + void ElectricPowerQualitySummary:: + summaryInterval (::std::auto_ptr< summaryInterval_type > x) + { + this->summaryInterval_.set (x); + } + + const ElectricPowerQualitySummary::supplyVoltageDips_optional& ElectricPowerQualitySummary:: + supplyVoltageDips () const + { + return this->supplyVoltageDips_; + } + + ElectricPowerQualitySummary::supplyVoltageDips_optional& ElectricPowerQualitySummary:: + supplyVoltageDips () + { + return this->supplyVoltageDips_; + } + + void ElectricPowerQualitySummary:: + supplyVoltageDips (const supplyVoltageDips_type& x) + { + this->supplyVoltageDips_.set (x); + } + + void ElectricPowerQualitySummary:: + supplyVoltageDips (const supplyVoltageDips_optional& x) + { + this->supplyVoltageDips_ = x; + } + + void ElectricPowerQualitySummary:: + supplyVoltageDips (::std::auto_ptr< supplyVoltageDips_type > x) + { + this->supplyVoltageDips_.set (x); + } + + const ElectricPowerQualitySummary::supplyVoltageImbalance_optional& ElectricPowerQualitySummary:: + supplyVoltageImbalance () const + { + return this->supplyVoltageImbalance_; + } + + ElectricPowerQualitySummary::supplyVoltageImbalance_optional& ElectricPowerQualitySummary:: + supplyVoltageImbalance () + { + return this->supplyVoltageImbalance_; + } + + void ElectricPowerQualitySummary:: + supplyVoltageImbalance (const supplyVoltageImbalance_type& x) + { + this->supplyVoltageImbalance_.set (x); + } + + void ElectricPowerQualitySummary:: + supplyVoltageImbalance (const supplyVoltageImbalance_optional& x) + { + this->supplyVoltageImbalance_ = x; + } + + void ElectricPowerQualitySummary:: + supplyVoltageImbalance (::std::auto_ptr< supplyVoltageImbalance_type > x) + { + this->supplyVoltageImbalance_.set (x); + } + + const ElectricPowerQualitySummary::supplyVoltageVariations_optional& ElectricPowerQualitySummary:: + supplyVoltageVariations () const + { + return this->supplyVoltageVariations_; + } + + ElectricPowerQualitySummary::supplyVoltageVariations_optional& ElectricPowerQualitySummary:: + supplyVoltageVariations () + { + return this->supplyVoltageVariations_; + } + + void ElectricPowerQualitySummary:: + supplyVoltageVariations (const supplyVoltageVariations_type& x) + { + this->supplyVoltageVariations_.set (x); + } + + void ElectricPowerQualitySummary:: + supplyVoltageVariations (const supplyVoltageVariations_optional& x) + { + this->supplyVoltageVariations_ = x; + } + + void ElectricPowerQualitySummary:: + supplyVoltageVariations (::std::auto_ptr< supplyVoltageVariations_type > x) + { + this->supplyVoltageVariations_.set (x); + } + + const ElectricPowerQualitySummary::tempOvervoltage_optional& ElectricPowerQualitySummary:: + tempOvervoltage () const + { + return this->tempOvervoltage_; + } + + ElectricPowerQualitySummary::tempOvervoltage_optional& ElectricPowerQualitySummary:: + tempOvervoltage () + { + return this->tempOvervoltage_; + } + + void ElectricPowerQualitySummary:: + tempOvervoltage (const tempOvervoltage_type& x) + { + this->tempOvervoltage_.set (x); + } + + void ElectricPowerQualitySummary:: + tempOvervoltage (const tempOvervoltage_optional& x) + { + this->tempOvervoltage_ = x; + } + + void ElectricPowerQualitySummary:: + tempOvervoltage (::std::auto_ptr< tempOvervoltage_type > x) + { + this->tempOvervoltage_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ElectricPowerQualitySummary + // + + ElectricPowerQualitySummary:: + ElectricPowerQualitySummary (const summaryInterval_type& summaryInterval) + : ::espi::IdentifiedObject (), + flickerPlt_ (this), + flickerPst_ (this), + harmonicVoltage_ (this), + longInterruptions_ (this), + mainsVoltage_ (this), + measurementProtocol_ (this), + powerFrequency_ (this), + rapidVoltageChanges_ (this), + shortInterruptions_ (this), + summaryInterval_ (summaryInterval, this), + supplyVoltageDips_ (this), + supplyVoltageImbalance_ (this), + supplyVoltageVariations_ (this), + tempOvervoltage_ (this) + { + } + + ElectricPowerQualitySummary:: + ElectricPowerQualitySummary (::std::auto_ptr< summaryInterval_type > summaryInterval) + : ::espi::IdentifiedObject (), + flickerPlt_ (this), + flickerPst_ (this), + harmonicVoltage_ (this), + longInterruptions_ (this), + mainsVoltage_ (this), + measurementProtocol_ (this), + powerFrequency_ (this), + rapidVoltageChanges_ (this), + shortInterruptions_ (this), + summaryInterval_ (summaryInterval, this), + supplyVoltageDips_ (this), + supplyVoltageImbalance_ (this), + supplyVoltageVariations_ (this), + tempOvervoltage_ (this) + { + } + + ElectricPowerQualitySummary:: + ElectricPowerQualitySummary (const ElectricPowerQualitySummary& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + flickerPlt_ (x.flickerPlt_, f, this), + flickerPst_ (x.flickerPst_, f, this), + harmonicVoltage_ (x.harmonicVoltage_, f, this), + longInterruptions_ (x.longInterruptions_, f, this), + mainsVoltage_ (x.mainsVoltage_, f, this), + measurementProtocol_ (x.measurementProtocol_, f, this), + powerFrequency_ (x.powerFrequency_, f, this), + rapidVoltageChanges_ (x.rapidVoltageChanges_, f, this), + shortInterruptions_ (x.shortInterruptions_, f, this), + summaryInterval_ (x.summaryInterval_, f, this), + supplyVoltageDips_ (x.supplyVoltageDips_, f, this), + supplyVoltageImbalance_ (x.supplyVoltageImbalance_, f, this), + supplyVoltageVariations_ (x.supplyVoltageVariations_, f, this), + tempOvervoltage_ (x.tempOvervoltage_, f, this) + { + } + + ElectricPowerQualitySummary:: + ElectricPowerQualitySummary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + flickerPlt_ (this), + flickerPst_ (this), + harmonicVoltage_ (this), + longInterruptions_ (this), + mainsVoltage_ (this), + measurementProtocol_ (this), + powerFrequency_ (this), + rapidVoltageChanges_ (this), + shortInterruptions_ (this), + summaryInterval_ (this), + supplyVoltageDips_ (this), + supplyVoltageImbalance_ (this), + supplyVoltageVariations_ (this), + tempOvervoltage_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ElectricPowerQualitySummary:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // flickerPlt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "flickerPlt", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< flickerPlt_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->flickerPlt_) + { + ::std::auto_ptr< flickerPlt_type > r ( + dynamic_cast< flickerPlt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->flickerPlt_.set (r); + continue; + } + } + } + + // flickerPst + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "flickerPst", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< flickerPst_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->flickerPst_) + { + ::std::auto_ptr< flickerPst_type > r ( + dynamic_cast< flickerPst_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->flickerPst_.set (r); + continue; + } + } + } + + // harmonicVoltage + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "harmonicVoltage", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< harmonicVoltage_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->harmonicVoltage_) + { + ::std::auto_ptr< harmonicVoltage_type > r ( + dynamic_cast< harmonicVoltage_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->harmonicVoltage_.set (r); + continue; + } + } + } + + // longInterruptions + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "longInterruptions", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< longInterruptions_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->longInterruptions_) + { + ::std::auto_ptr< longInterruptions_type > r ( + dynamic_cast< longInterruptions_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->longInterruptions_.set (r); + continue; + } + } + } + + // mainsVoltage + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "mainsVoltage", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< mainsVoltage_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->mainsVoltage_) + { + ::std::auto_ptr< mainsVoltage_type > r ( + dynamic_cast< mainsVoltage_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->mainsVoltage_.set (r); + continue; + } + } + } + + // measurementProtocol + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "measurementProtocol", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< measurementProtocol_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->measurementProtocol_) + { + ::std::auto_ptr< measurementProtocol_type > r ( + dynamic_cast< measurementProtocol_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->measurementProtocol_.set (r); + continue; + } + } + } + + // powerFrequency + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerFrequency", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< powerFrequency_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->powerFrequency_) + { + ::std::auto_ptr< powerFrequency_type > r ( + dynamic_cast< powerFrequency_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->powerFrequency_.set (r); + continue; + } + } + } + + // rapidVoltageChanges + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rapidVoltageChanges", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< rapidVoltageChanges_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->rapidVoltageChanges_) + { + ::std::auto_ptr< rapidVoltageChanges_type > r ( + dynamic_cast< rapidVoltageChanges_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rapidVoltageChanges_.set (r); + continue; + } + } + } + + // shortInterruptions + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "shortInterruptions", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< shortInterruptions_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->shortInterruptions_) + { + ::std::auto_ptr< shortInterruptions_type > r ( + dynamic_cast< shortInterruptions_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->shortInterruptions_.set (r); + continue; + } + } + } + + // summaryInterval + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "summaryInterval", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< summaryInterval_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!summaryInterval_.present ()) + { + ::std::auto_ptr< summaryInterval_type > r ( + dynamic_cast< summaryInterval_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->summaryInterval_.set (r); + continue; + } + } + } + + // supplyVoltageDips + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "supplyVoltageDips", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< supplyVoltageDips_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->supplyVoltageDips_) + { + ::std::auto_ptr< supplyVoltageDips_type > r ( + dynamic_cast< supplyVoltageDips_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->supplyVoltageDips_.set (r); + continue; + } + } + } + + // supplyVoltageImbalance + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "supplyVoltageImbalance", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< supplyVoltageImbalance_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->supplyVoltageImbalance_) + { + ::std::auto_ptr< supplyVoltageImbalance_type > r ( + dynamic_cast< supplyVoltageImbalance_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->supplyVoltageImbalance_.set (r); + continue; + } + } + } + + // supplyVoltageVariations + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "supplyVoltageVariations", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< supplyVoltageVariations_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->supplyVoltageVariations_) + { + ::std::auto_ptr< supplyVoltageVariations_type > r ( + dynamic_cast< supplyVoltageVariations_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->supplyVoltageVariations_.set (r); + continue; + } + } + } + + // tempOvervoltage + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "tempOvervoltage", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< tempOvervoltage_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->tempOvervoltage_) + { + ::std::auto_ptr< tempOvervoltage_type > r ( + dynamic_cast< tempOvervoltage_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->tempOvervoltage_.set (r); + continue; + } + } + } + + break; + } + + if (!summaryInterval_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "summaryInterval", + "http://naesb.org/espi"); + } + } + + ElectricPowerQualitySummary* ElectricPowerQualitySummary:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ElectricPowerQualitySummary (*this, f, c); + } + + ElectricPowerQualitySummary& ElectricPowerQualitySummary:: + operator= (const ElectricPowerQualitySummary& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->flickerPlt_ = x.flickerPlt_; + this->flickerPst_ = x.flickerPst_; + this->harmonicVoltage_ = x.harmonicVoltage_; + this->longInterruptions_ = x.longInterruptions_; + this->mainsVoltage_ = x.mainsVoltage_; + this->measurementProtocol_ = x.measurementProtocol_; + this->powerFrequency_ = x.powerFrequency_; + this->rapidVoltageChanges_ = x.rapidVoltageChanges_; + this->shortInterruptions_ = x.shortInterruptions_; + this->summaryInterval_ = x.summaryInterval_; + this->supplyVoltageDips_ = x.supplyVoltageDips_; + this->supplyVoltageImbalance_ = x.supplyVoltageImbalance_; + this->supplyVoltageVariations_ = x.supplyVoltageVariations_; + this->tempOvervoltage_ = x.tempOvervoltage_; + } + + return *this; + } + + ElectricPowerQualitySummary:: + ~ElectricPowerQualitySummary () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ElectricPowerQualitySummary > + _xsd_ElectricPowerQualitySummary_type_factory_init ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ElectricPowerQualitySummary& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // flickerPlt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.flickerPlt ()) + { + const ElectricPowerQualitySummary::flickerPlt_type& x (*i.flickerPlt ()); + if (typeid (ElectricPowerQualitySummary::flickerPlt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "flickerPlt", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "flickerPlt", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // flickerPst + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.flickerPst ()) + { + const ElectricPowerQualitySummary::flickerPst_type& x (*i.flickerPst ()); + if (typeid (ElectricPowerQualitySummary::flickerPst_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "flickerPst", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "flickerPst", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // harmonicVoltage + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.harmonicVoltage ()) + { + const ElectricPowerQualitySummary::harmonicVoltage_type& x (*i.harmonicVoltage ()); + if (typeid (ElectricPowerQualitySummary::harmonicVoltage_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "harmonicVoltage", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "harmonicVoltage", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // longInterruptions + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.longInterruptions ()) + { + const ElectricPowerQualitySummary::longInterruptions_type& x (*i.longInterruptions ()); + if (typeid (ElectricPowerQualitySummary::longInterruptions_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "longInterruptions", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "longInterruptions", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // mainsVoltage + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.mainsVoltage ()) + { + const ElectricPowerQualitySummary::mainsVoltage_type& x (*i.mainsVoltage ()); + if (typeid (ElectricPowerQualitySummary::mainsVoltage_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "mainsVoltage", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "mainsVoltage", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // measurementProtocol + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.measurementProtocol ()) + { + const ElectricPowerQualitySummary::measurementProtocol_type& x (*i.measurementProtocol ()); + if (typeid (ElectricPowerQualitySummary::measurementProtocol_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "measurementProtocol", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "measurementProtocol", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // powerFrequency + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.powerFrequency ()) + { + const ElectricPowerQualitySummary::powerFrequency_type& x (*i.powerFrequency ()); + if (typeid (ElectricPowerQualitySummary::powerFrequency_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "powerFrequency", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "powerFrequency", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // rapidVoltageChanges + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.rapidVoltageChanges ()) + { + const ElectricPowerQualitySummary::rapidVoltageChanges_type& x (*i.rapidVoltageChanges ()); + if (typeid (ElectricPowerQualitySummary::rapidVoltageChanges_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rapidVoltageChanges", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "rapidVoltageChanges", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // shortInterruptions + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.shortInterruptions ()) + { + const ElectricPowerQualitySummary::shortInterruptions_type& x (*i.shortInterruptions ()); + if (typeid (ElectricPowerQualitySummary::shortInterruptions_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "shortInterruptions", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "shortInterruptions", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // summaryInterval + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ElectricPowerQualitySummary::summaryInterval_type& x (i.summaryInterval ()); + if (typeid (ElectricPowerQualitySummary::summaryInterval_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "summaryInterval", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "summaryInterval", + "http://naesb.org/espi", + false, true, e, x); + } + + // supplyVoltageDips + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.supplyVoltageDips ()) + { + const ElectricPowerQualitySummary::supplyVoltageDips_type& x (*i.supplyVoltageDips ()); + if (typeid (ElectricPowerQualitySummary::supplyVoltageDips_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "supplyVoltageDips", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "supplyVoltageDips", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // supplyVoltageImbalance + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.supplyVoltageImbalance ()) + { + const ElectricPowerQualitySummary::supplyVoltageImbalance_type& x (*i.supplyVoltageImbalance ()); + if (typeid (ElectricPowerQualitySummary::supplyVoltageImbalance_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "supplyVoltageImbalance", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "supplyVoltageImbalance", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // supplyVoltageVariations + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.supplyVoltageVariations ()) + { + const ElectricPowerQualitySummary::supplyVoltageVariations_type& x (*i.supplyVoltageVariations ()); + if (typeid (ElectricPowerQualitySummary::supplyVoltageVariations_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "supplyVoltageVariations", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "supplyVoltageVariations", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // tempOvervoltage + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.tempOvervoltage ()) + { + const ElectricPowerQualitySummary::tempOvervoltage_type& x (*i.tempOvervoltage ()); + if (typeid (ElectricPowerQualitySummary::tempOvervoltage_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tempOvervoltage", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "tempOvervoltage", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ElectricPowerQualitySummary > + _xsd_ElectricPowerQualitySummary_type_serializer_init ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.hxx b/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.hxx new file mode 100644 index 0000000..a47a719 --- /dev/null +++ b/oadrsd/oadrsd/2b/ElectricPowerQualitySummary.hxx @@ -0,0 +1,663 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ELECTRIC_POWER_QUALITY_SUMMARY_HXX +#define ELECTRIC_POWER_QUALITY_SUMMARY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ElectricPowerQualitySummary; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class Int48; +} + +namespace espi +{ + class UInt8; +} + +namespace espi +{ + class DateTimeInterval; +} + +namespace espi +{ + class ElectricPowerQualitySummary: public ::espi::IdentifiedObject + { + public: + // flickerPlt + // + typedef ::espi::Int48 flickerPlt_type; + typedef ::xsd::cxx::tree::optional< flickerPlt_type > flickerPlt_optional; + typedef ::xsd::cxx::tree::traits< flickerPlt_type, char > flickerPlt_traits; + + const flickerPlt_optional& + flickerPlt () const; + + flickerPlt_optional& + flickerPlt (); + + void + flickerPlt (const flickerPlt_type& x); + + void + flickerPlt (const flickerPlt_optional& x); + + void + flickerPlt (::std::auto_ptr< flickerPlt_type > p); + + // flickerPst + // + typedef ::espi::Int48 flickerPst_type; + typedef ::xsd::cxx::tree::optional< flickerPst_type > flickerPst_optional; + typedef ::xsd::cxx::tree::traits< flickerPst_type, char > flickerPst_traits; + + const flickerPst_optional& + flickerPst () const; + + flickerPst_optional& + flickerPst (); + + void + flickerPst (const flickerPst_type& x); + + void + flickerPst (const flickerPst_optional& x); + + void + flickerPst (::std::auto_ptr< flickerPst_type > p); + + // harmonicVoltage + // + typedef ::espi::Int48 harmonicVoltage_type; + typedef ::xsd::cxx::tree::optional< harmonicVoltage_type > harmonicVoltage_optional; + typedef ::xsd::cxx::tree::traits< harmonicVoltage_type, char > harmonicVoltage_traits; + + const harmonicVoltage_optional& + harmonicVoltage () const; + + harmonicVoltage_optional& + harmonicVoltage (); + + void + harmonicVoltage (const harmonicVoltage_type& x); + + void + harmonicVoltage (const harmonicVoltage_optional& x); + + void + harmonicVoltage (::std::auto_ptr< harmonicVoltage_type > p); + + // longInterruptions + // + typedef ::espi::Int48 longInterruptions_type; + typedef ::xsd::cxx::tree::optional< longInterruptions_type > longInterruptions_optional; + typedef ::xsd::cxx::tree::traits< longInterruptions_type, char > longInterruptions_traits; + + const longInterruptions_optional& + longInterruptions () const; + + longInterruptions_optional& + longInterruptions (); + + void + longInterruptions (const longInterruptions_type& x); + + void + longInterruptions (const longInterruptions_optional& x); + + void + longInterruptions (::std::auto_ptr< longInterruptions_type > p); + + // mainsVoltage + // + typedef ::espi::Int48 mainsVoltage_type; + typedef ::xsd::cxx::tree::optional< mainsVoltage_type > mainsVoltage_optional; + typedef ::xsd::cxx::tree::traits< mainsVoltage_type, char > mainsVoltage_traits; + + const mainsVoltage_optional& + mainsVoltage () const; + + mainsVoltage_optional& + mainsVoltage (); + + void + mainsVoltage (const mainsVoltage_type& x); + + void + mainsVoltage (const mainsVoltage_optional& x); + + void + mainsVoltage (::std::auto_ptr< mainsVoltage_type > p); + + // measurementProtocol + // + typedef ::espi::UInt8 measurementProtocol_type; + typedef ::xsd::cxx::tree::optional< measurementProtocol_type > measurementProtocol_optional; + typedef ::xsd::cxx::tree::traits< measurementProtocol_type, char > measurementProtocol_traits; + + const measurementProtocol_optional& + measurementProtocol () const; + + measurementProtocol_optional& + measurementProtocol (); + + void + measurementProtocol (const measurementProtocol_type& x); + + void + measurementProtocol (const measurementProtocol_optional& x); + + void + measurementProtocol (::std::auto_ptr< measurementProtocol_type > p); + + // powerFrequency + // + typedef ::espi::Int48 powerFrequency_type; + typedef ::xsd::cxx::tree::optional< powerFrequency_type > powerFrequency_optional; + typedef ::xsd::cxx::tree::traits< powerFrequency_type, char > powerFrequency_traits; + + const powerFrequency_optional& + powerFrequency () const; + + powerFrequency_optional& + powerFrequency (); + + void + powerFrequency (const powerFrequency_type& x); + + void + powerFrequency (const powerFrequency_optional& x); + + void + powerFrequency (::std::auto_ptr< powerFrequency_type > p); + + // rapidVoltageChanges + // + typedef ::espi::Int48 rapidVoltageChanges_type; + typedef ::xsd::cxx::tree::optional< rapidVoltageChanges_type > rapidVoltageChanges_optional; + typedef ::xsd::cxx::tree::traits< rapidVoltageChanges_type, char > rapidVoltageChanges_traits; + + const rapidVoltageChanges_optional& + rapidVoltageChanges () const; + + rapidVoltageChanges_optional& + rapidVoltageChanges (); + + void + rapidVoltageChanges (const rapidVoltageChanges_type& x); + + void + rapidVoltageChanges (const rapidVoltageChanges_optional& x); + + void + rapidVoltageChanges (::std::auto_ptr< rapidVoltageChanges_type > p); + + // shortInterruptions + // + typedef ::espi::Int48 shortInterruptions_type; + typedef ::xsd::cxx::tree::optional< shortInterruptions_type > shortInterruptions_optional; + typedef ::xsd::cxx::tree::traits< shortInterruptions_type, char > shortInterruptions_traits; + + const shortInterruptions_optional& + shortInterruptions () const; + + shortInterruptions_optional& + shortInterruptions (); + + void + shortInterruptions (const shortInterruptions_type& x); + + void + shortInterruptions (const shortInterruptions_optional& x); + + void + shortInterruptions (::std::auto_ptr< shortInterruptions_type > p); + + // summaryInterval + // + typedef ::espi::DateTimeInterval summaryInterval_type; + typedef ::xsd::cxx::tree::traits< summaryInterval_type, char > summaryInterval_traits; + + const summaryInterval_type& + summaryInterval () const; + + summaryInterval_type& + summaryInterval (); + + void + summaryInterval (const summaryInterval_type& x); + + void + summaryInterval (::std::auto_ptr< summaryInterval_type > p); + + // supplyVoltageDips + // + typedef ::espi::Int48 supplyVoltageDips_type; + typedef ::xsd::cxx::tree::optional< supplyVoltageDips_type > supplyVoltageDips_optional; + typedef ::xsd::cxx::tree::traits< supplyVoltageDips_type, char > supplyVoltageDips_traits; + + const supplyVoltageDips_optional& + supplyVoltageDips () const; + + supplyVoltageDips_optional& + supplyVoltageDips (); + + void + supplyVoltageDips (const supplyVoltageDips_type& x); + + void + supplyVoltageDips (const supplyVoltageDips_optional& x); + + void + supplyVoltageDips (::std::auto_ptr< supplyVoltageDips_type > p); + + // supplyVoltageImbalance + // + typedef ::espi::Int48 supplyVoltageImbalance_type; + typedef ::xsd::cxx::tree::optional< supplyVoltageImbalance_type > supplyVoltageImbalance_optional; + typedef ::xsd::cxx::tree::traits< supplyVoltageImbalance_type, char > supplyVoltageImbalance_traits; + + const supplyVoltageImbalance_optional& + supplyVoltageImbalance () const; + + supplyVoltageImbalance_optional& + supplyVoltageImbalance (); + + void + supplyVoltageImbalance (const supplyVoltageImbalance_type& x); + + void + supplyVoltageImbalance (const supplyVoltageImbalance_optional& x); + + void + supplyVoltageImbalance (::std::auto_ptr< supplyVoltageImbalance_type > p); + + // supplyVoltageVariations + // + typedef ::espi::Int48 supplyVoltageVariations_type; + typedef ::xsd::cxx::tree::optional< supplyVoltageVariations_type > supplyVoltageVariations_optional; + typedef ::xsd::cxx::tree::traits< supplyVoltageVariations_type, char > supplyVoltageVariations_traits; + + const supplyVoltageVariations_optional& + supplyVoltageVariations () const; + + supplyVoltageVariations_optional& + supplyVoltageVariations (); + + void + supplyVoltageVariations (const supplyVoltageVariations_type& x); + + void + supplyVoltageVariations (const supplyVoltageVariations_optional& x); + + void + supplyVoltageVariations (::std::auto_ptr< supplyVoltageVariations_type > p); + + // tempOvervoltage + // + typedef ::espi::Int48 tempOvervoltage_type; + typedef ::xsd::cxx::tree::optional< tempOvervoltage_type > tempOvervoltage_optional; + typedef ::xsd::cxx::tree::traits< tempOvervoltage_type, char > tempOvervoltage_traits; + + const tempOvervoltage_optional& + tempOvervoltage () const; + + tempOvervoltage_optional& + tempOvervoltage (); + + void + tempOvervoltage (const tempOvervoltage_type& x); + + void + tempOvervoltage (const tempOvervoltage_optional& x); + + void + tempOvervoltage (::std::auto_ptr< tempOvervoltage_type > p); + + // Constructors. + // + ElectricPowerQualitySummary (const summaryInterval_type&); + + ElectricPowerQualitySummary (::std::auto_ptr< summaryInterval_type >); + + ElectricPowerQualitySummary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ElectricPowerQualitySummary (const ElectricPowerQualitySummary& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ElectricPowerQualitySummary* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ElectricPowerQualitySummary& + operator= (const ElectricPowerQualitySummary& x); + + virtual + ~ElectricPowerQualitySummary (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + flickerPlt_optional flickerPlt_; + flickerPst_optional flickerPst_; + harmonicVoltage_optional harmonicVoltage_; + longInterruptions_optional longInterruptions_; + mainsVoltage_optional mainsVoltage_; + measurementProtocol_optional measurementProtocol_; + powerFrequency_optional powerFrequency_; + rapidVoltageChanges_optional rapidVoltageChanges_; + shortInterruptions_optional shortInterruptions_; + ::xsd::cxx::tree::one< summaryInterval_type > summaryInterval_; + supplyVoltageDips_optional supplyVoltageDips_; + supplyVoltageImbalance_optional supplyVoltageImbalance_; + supplyVoltageVariations_optional supplyVoltageVariations_; + tempOvervoltage_optional tempOvervoltage_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ElectricPowerQualitySummary&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ELECTRIC_POWER_QUALITY_SUMMARY_HXX diff --git a/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.cxx b/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.cxx new file mode 100644 index 0000000..a9c0342 --- /dev/null +++ b/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.cxx @@ -0,0 +1,1894 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ElectricPowerUsageSummary.hxx" + +#include "DateTimeInterval.hxx" + +#include "Int48.hxx" + +#include "LineItem.hxx" + +#include "Currency.hxx" + +#include "SummaryMeasurement.hxx" + +#include "QualityOfReading.hxx" + +#include "TimeType.hxx" + +namespace espi +{ + // ElectricPowerUsageSummary + // + + const ElectricPowerUsageSummary::billingPeriod_optional& ElectricPowerUsageSummary:: + billingPeriod () const + { + return this->billingPeriod_; + } + + ElectricPowerUsageSummary::billingPeriod_optional& ElectricPowerUsageSummary:: + billingPeriod () + { + return this->billingPeriod_; + } + + void ElectricPowerUsageSummary:: + billingPeriod (const billingPeriod_type& x) + { + this->billingPeriod_.set (x); + } + + void ElectricPowerUsageSummary:: + billingPeriod (const billingPeriod_optional& x) + { + this->billingPeriod_ = x; + } + + void ElectricPowerUsageSummary:: + billingPeriod (::std::auto_ptr< billingPeriod_type > x) + { + this->billingPeriod_.set (x); + } + + const ElectricPowerUsageSummary::billLastPeriod_optional& ElectricPowerUsageSummary:: + billLastPeriod () const + { + return this->billLastPeriod_; + } + + ElectricPowerUsageSummary::billLastPeriod_optional& ElectricPowerUsageSummary:: + billLastPeriod () + { + return this->billLastPeriod_; + } + + void ElectricPowerUsageSummary:: + billLastPeriod (const billLastPeriod_type& x) + { + this->billLastPeriod_.set (x); + } + + void ElectricPowerUsageSummary:: + billLastPeriod (const billLastPeriod_optional& x) + { + this->billLastPeriod_ = x; + } + + void ElectricPowerUsageSummary:: + billLastPeriod (::std::auto_ptr< billLastPeriod_type > x) + { + this->billLastPeriod_.set (x); + } + + const ElectricPowerUsageSummary::billToDate_optional& ElectricPowerUsageSummary:: + billToDate () const + { + return this->billToDate_; + } + + ElectricPowerUsageSummary::billToDate_optional& ElectricPowerUsageSummary:: + billToDate () + { + return this->billToDate_; + } + + void ElectricPowerUsageSummary:: + billToDate (const billToDate_type& x) + { + this->billToDate_.set (x); + } + + void ElectricPowerUsageSummary:: + billToDate (const billToDate_optional& x) + { + this->billToDate_ = x; + } + + void ElectricPowerUsageSummary:: + billToDate (::std::auto_ptr< billToDate_type > x) + { + this->billToDate_.set (x); + } + + const ElectricPowerUsageSummary::costAdditionalLastPeriod_optional& ElectricPowerUsageSummary:: + costAdditionalLastPeriod () const + { + return this->costAdditionalLastPeriod_; + } + + ElectricPowerUsageSummary::costAdditionalLastPeriod_optional& ElectricPowerUsageSummary:: + costAdditionalLastPeriod () + { + return this->costAdditionalLastPeriod_; + } + + void ElectricPowerUsageSummary:: + costAdditionalLastPeriod (const costAdditionalLastPeriod_type& x) + { + this->costAdditionalLastPeriod_.set (x); + } + + void ElectricPowerUsageSummary:: + costAdditionalLastPeriod (const costAdditionalLastPeriod_optional& x) + { + this->costAdditionalLastPeriod_ = x; + } + + void ElectricPowerUsageSummary:: + costAdditionalLastPeriod (::std::auto_ptr< costAdditionalLastPeriod_type > x) + { + this->costAdditionalLastPeriod_.set (x); + } + + const ElectricPowerUsageSummary::costAdditionalDetailLastPeriod_sequence& ElectricPowerUsageSummary:: + costAdditionalDetailLastPeriod () const + { + return this->costAdditionalDetailLastPeriod_; + } + + ElectricPowerUsageSummary::costAdditionalDetailLastPeriod_sequence& ElectricPowerUsageSummary:: + costAdditionalDetailLastPeriod () + { + return this->costAdditionalDetailLastPeriod_; + } + + void ElectricPowerUsageSummary:: + costAdditionalDetailLastPeriod (const costAdditionalDetailLastPeriod_sequence& s) + { + this->costAdditionalDetailLastPeriod_ = s; + } + + const ElectricPowerUsageSummary::currency_optional& ElectricPowerUsageSummary:: + currency () const + { + return this->currency_; + } + + ElectricPowerUsageSummary::currency_optional& ElectricPowerUsageSummary:: + currency () + { + return this->currency_; + } + + void ElectricPowerUsageSummary:: + currency (const currency_type& x) + { + this->currency_.set (x); + } + + void ElectricPowerUsageSummary:: + currency (const currency_optional& x) + { + this->currency_ = x; + } + + void ElectricPowerUsageSummary:: + currency (::std::auto_ptr< currency_type > x) + { + this->currency_.set (x); + } + + const ElectricPowerUsageSummary::overallConsumptionLastPeriod_optional& ElectricPowerUsageSummary:: + overallConsumptionLastPeriod () const + { + return this->overallConsumptionLastPeriod_; + } + + ElectricPowerUsageSummary::overallConsumptionLastPeriod_optional& ElectricPowerUsageSummary:: + overallConsumptionLastPeriod () + { + return this->overallConsumptionLastPeriod_; + } + + void ElectricPowerUsageSummary:: + overallConsumptionLastPeriod (const overallConsumptionLastPeriod_type& x) + { + this->overallConsumptionLastPeriod_.set (x); + } + + void ElectricPowerUsageSummary:: + overallConsumptionLastPeriod (const overallConsumptionLastPeriod_optional& x) + { + this->overallConsumptionLastPeriod_ = x; + } + + void ElectricPowerUsageSummary:: + overallConsumptionLastPeriod (::std::auto_ptr< overallConsumptionLastPeriod_type > x) + { + this->overallConsumptionLastPeriod_.set (x); + } + + const ElectricPowerUsageSummary::currentBillingPeriodOverAllConsumption_optional& ElectricPowerUsageSummary:: + currentBillingPeriodOverAllConsumption () const + { + return this->currentBillingPeriodOverAllConsumption_; + } + + ElectricPowerUsageSummary::currentBillingPeriodOverAllConsumption_optional& ElectricPowerUsageSummary:: + currentBillingPeriodOverAllConsumption () + { + return this->currentBillingPeriodOverAllConsumption_; + } + + void ElectricPowerUsageSummary:: + currentBillingPeriodOverAllConsumption (const currentBillingPeriodOverAllConsumption_type& x) + { + this->currentBillingPeriodOverAllConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + currentBillingPeriodOverAllConsumption (const currentBillingPeriodOverAllConsumption_optional& x) + { + this->currentBillingPeriodOverAllConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + currentBillingPeriodOverAllConsumption (::std::auto_ptr< currentBillingPeriodOverAllConsumption_type > x) + { + this->currentBillingPeriodOverAllConsumption_.set (x); + } + + const ElectricPowerUsageSummary::currentDayLastYearNetConsumption_optional& ElectricPowerUsageSummary:: + currentDayLastYearNetConsumption () const + { + return this->currentDayLastYearNetConsumption_; + } + + ElectricPowerUsageSummary::currentDayLastYearNetConsumption_optional& ElectricPowerUsageSummary:: + currentDayLastYearNetConsumption () + { + return this->currentDayLastYearNetConsumption_; + } + + void ElectricPowerUsageSummary:: + currentDayLastYearNetConsumption (const currentDayLastYearNetConsumption_type& x) + { + this->currentDayLastYearNetConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + currentDayLastYearNetConsumption (const currentDayLastYearNetConsumption_optional& x) + { + this->currentDayLastYearNetConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + currentDayLastYearNetConsumption (::std::auto_ptr< currentDayLastYearNetConsumption_type > x) + { + this->currentDayLastYearNetConsumption_.set (x); + } + + const ElectricPowerUsageSummary::currentDayNetConsumption_optional& ElectricPowerUsageSummary:: + currentDayNetConsumption () const + { + return this->currentDayNetConsumption_; + } + + ElectricPowerUsageSummary::currentDayNetConsumption_optional& ElectricPowerUsageSummary:: + currentDayNetConsumption () + { + return this->currentDayNetConsumption_; + } + + void ElectricPowerUsageSummary:: + currentDayNetConsumption (const currentDayNetConsumption_type& x) + { + this->currentDayNetConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + currentDayNetConsumption (const currentDayNetConsumption_optional& x) + { + this->currentDayNetConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + currentDayNetConsumption (::std::auto_ptr< currentDayNetConsumption_type > x) + { + this->currentDayNetConsumption_.set (x); + } + + const ElectricPowerUsageSummary::currentDayOverallConsumption_optional& ElectricPowerUsageSummary:: + currentDayOverallConsumption () const + { + return this->currentDayOverallConsumption_; + } + + ElectricPowerUsageSummary::currentDayOverallConsumption_optional& ElectricPowerUsageSummary:: + currentDayOverallConsumption () + { + return this->currentDayOverallConsumption_; + } + + void ElectricPowerUsageSummary:: + currentDayOverallConsumption (const currentDayOverallConsumption_type& x) + { + this->currentDayOverallConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + currentDayOverallConsumption (const currentDayOverallConsumption_optional& x) + { + this->currentDayOverallConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + currentDayOverallConsumption (::std::auto_ptr< currentDayOverallConsumption_type > x) + { + this->currentDayOverallConsumption_.set (x); + } + + const ElectricPowerUsageSummary::peakDemand_optional& ElectricPowerUsageSummary:: + peakDemand () const + { + return this->peakDemand_; + } + + ElectricPowerUsageSummary::peakDemand_optional& ElectricPowerUsageSummary:: + peakDemand () + { + return this->peakDemand_; + } + + void ElectricPowerUsageSummary:: + peakDemand (const peakDemand_type& x) + { + this->peakDemand_.set (x); + } + + void ElectricPowerUsageSummary:: + peakDemand (const peakDemand_optional& x) + { + this->peakDemand_ = x; + } + + void ElectricPowerUsageSummary:: + peakDemand (::std::auto_ptr< peakDemand_type > x) + { + this->peakDemand_.set (x); + } + + const ElectricPowerUsageSummary::previousDayLastYearOverallConsumption_optional& ElectricPowerUsageSummary:: + previousDayLastYearOverallConsumption () const + { + return this->previousDayLastYearOverallConsumption_; + } + + ElectricPowerUsageSummary::previousDayLastYearOverallConsumption_optional& ElectricPowerUsageSummary:: + previousDayLastYearOverallConsumption () + { + return this->previousDayLastYearOverallConsumption_; + } + + void ElectricPowerUsageSummary:: + previousDayLastYearOverallConsumption (const previousDayLastYearOverallConsumption_type& x) + { + this->previousDayLastYearOverallConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + previousDayLastYearOverallConsumption (const previousDayLastYearOverallConsumption_optional& x) + { + this->previousDayLastYearOverallConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + previousDayLastYearOverallConsumption (::std::auto_ptr< previousDayLastYearOverallConsumption_type > x) + { + this->previousDayLastYearOverallConsumption_.set (x); + } + + const ElectricPowerUsageSummary::previousDayNetConsumption_optional& ElectricPowerUsageSummary:: + previousDayNetConsumption () const + { + return this->previousDayNetConsumption_; + } + + ElectricPowerUsageSummary::previousDayNetConsumption_optional& ElectricPowerUsageSummary:: + previousDayNetConsumption () + { + return this->previousDayNetConsumption_; + } + + void ElectricPowerUsageSummary:: + previousDayNetConsumption (const previousDayNetConsumption_type& x) + { + this->previousDayNetConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + previousDayNetConsumption (const previousDayNetConsumption_optional& x) + { + this->previousDayNetConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + previousDayNetConsumption (::std::auto_ptr< previousDayNetConsumption_type > x) + { + this->previousDayNetConsumption_.set (x); + } + + const ElectricPowerUsageSummary::previousDayOverallConsumption_optional& ElectricPowerUsageSummary:: + previousDayOverallConsumption () const + { + return this->previousDayOverallConsumption_; + } + + ElectricPowerUsageSummary::previousDayOverallConsumption_optional& ElectricPowerUsageSummary:: + previousDayOverallConsumption () + { + return this->previousDayOverallConsumption_; + } + + void ElectricPowerUsageSummary:: + previousDayOverallConsumption (const previousDayOverallConsumption_type& x) + { + this->previousDayOverallConsumption_.set (x); + } + + void ElectricPowerUsageSummary:: + previousDayOverallConsumption (const previousDayOverallConsumption_optional& x) + { + this->previousDayOverallConsumption_ = x; + } + + void ElectricPowerUsageSummary:: + previousDayOverallConsumption (::std::auto_ptr< previousDayOverallConsumption_type > x) + { + this->previousDayOverallConsumption_.set (x); + } + + const ElectricPowerUsageSummary::qualityOfReading_optional& ElectricPowerUsageSummary:: + qualityOfReading () const + { + return this->qualityOfReading_; + } + + ElectricPowerUsageSummary::qualityOfReading_optional& ElectricPowerUsageSummary:: + qualityOfReading () + { + return this->qualityOfReading_; + } + + void ElectricPowerUsageSummary:: + qualityOfReading (const qualityOfReading_type& x) + { + this->qualityOfReading_.set (x); + } + + void ElectricPowerUsageSummary:: + qualityOfReading (const qualityOfReading_optional& x) + { + this->qualityOfReading_ = x; + } + + void ElectricPowerUsageSummary:: + qualityOfReading (::std::auto_ptr< qualityOfReading_type > x) + { + this->qualityOfReading_.set (x); + } + + const ElectricPowerUsageSummary::ratchetDemand_optional& ElectricPowerUsageSummary:: + ratchetDemand () const + { + return this->ratchetDemand_; + } + + ElectricPowerUsageSummary::ratchetDemand_optional& ElectricPowerUsageSummary:: + ratchetDemand () + { + return this->ratchetDemand_; + } + + void ElectricPowerUsageSummary:: + ratchetDemand (const ratchetDemand_type& x) + { + this->ratchetDemand_.set (x); + } + + void ElectricPowerUsageSummary:: + ratchetDemand (const ratchetDemand_optional& x) + { + this->ratchetDemand_ = x; + } + + void ElectricPowerUsageSummary:: + ratchetDemand (::std::auto_ptr< ratchetDemand_type > x) + { + this->ratchetDemand_.set (x); + } + + const ElectricPowerUsageSummary::ratchetDemandPeriod_optional& ElectricPowerUsageSummary:: + ratchetDemandPeriod () const + { + return this->ratchetDemandPeriod_; + } + + ElectricPowerUsageSummary::ratchetDemandPeriod_optional& ElectricPowerUsageSummary:: + ratchetDemandPeriod () + { + return this->ratchetDemandPeriod_; + } + + void ElectricPowerUsageSummary:: + ratchetDemandPeriod (const ratchetDemandPeriod_type& x) + { + this->ratchetDemandPeriod_.set (x); + } + + void ElectricPowerUsageSummary:: + ratchetDemandPeriod (const ratchetDemandPeriod_optional& x) + { + this->ratchetDemandPeriod_ = x; + } + + void ElectricPowerUsageSummary:: + ratchetDemandPeriod (::std::auto_ptr< ratchetDemandPeriod_type > x) + { + this->ratchetDemandPeriod_.set (x); + } + + const ElectricPowerUsageSummary::statusTimeStamp_type& ElectricPowerUsageSummary:: + statusTimeStamp () const + { + return this->statusTimeStamp_.get (); + } + + ElectricPowerUsageSummary::statusTimeStamp_type& ElectricPowerUsageSummary:: + statusTimeStamp () + { + return this->statusTimeStamp_.get (); + } + + void ElectricPowerUsageSummary:: + statusTimeStamp (const statusTimeStamp_type& x) + { + this->statusTimeStamp_.set (x); + } + + void ElectricPowerUsageSummary:: + statusTimeStamp (::std::auto_ptr< statusTimeStamp_type > x) + { + this->statusTimeStamp_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ElectricPowerUsageSummary + // + + ElectricPowerUsageSummary:: + ElectricPowerUsageSummary (const statusTimeStamp_type& statusTimeStamp) + : ::espi::IdentifiedObject (), + billingPeriod_ (this), + billLastPeriod_ (this), + billToDate_ (this), + costAdditionalLastPeriod_ (this), + costAdditionalDetailLastPeriod_ (this), + currency_ (this), + overallConsumptionLastPeriod_ (this), + currentBillingPeriodOverAllConsumption_ (this), + currentDayLastYearNetConsumption_ (this), + currentDayNetConsumption_ (this), + currentDayOverallConsumption_ (this), + peakDemand_ (this), + previousDayLastYearOverallConsumption_ (this), + previousDayNetConsumption_ (this), + previousDayOverallConsumption_ (this), + qualityOfReading_ (this), + ratchetDemand_ (this), + ratchetDemandPeriod_ (this), + statusTimeStamp_ (statusTimeStamp, this) + { + } + + ElectricPowerUsageSummary:: + ElectricPowerUsageSummary (::std::auto_ptr< statusTimeStamp_type > statusTimeStamp) + : ::espi::IdentifiedObject (), + billingPeriod_ (this), + billLastPeriod_ (this), + billToDate_ (this), + costAdditionalLastPeriod_ (this), + costAdditionalDetailLastPeriod_ (this), + currency_ (this), + overallConsumptionLastPeriod_ (this), + currentBillingPeriodOverAllConsumption_ (this), + currentDayLastYearNetConsumption_ (this), + currentDayNetConsumption_ (this), + currentDayOverallConsumption_ (this), + peakDemand_ (this), + previousDayLastYearOverallConsumption_ (this), + previousDayNetConsumption_ (this), + previousDayOverallConsumption_ (this), + qualityOfReading_ (this), + ratchetDemand_ (this), + ratchetDemandPeriod_ (this), + statusTimeStamp_ (statusTimeStamp, this) + { + } + + ElectricPowerUsageSummary:: + ElectricPowerUsageSummary (const ElectricPowerUsageSummary& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + billingPeriod_ (x.billingPeriod_, f, this), + billLastPeriod_ (x.billLastPeriod_, f, this), + billToDate_ (x.billToDate_, f, this), + costAdditionalLastPeriod_ (x.costAdditionalLastPeriod_, f, this), + costAdditionalDetailLastPeriod_ (x.costAdditionalDetailLastPeriod_, f, this), + currency_ (x.currency_, f, this), + overallConsumptionLastPeriod_ (x.overallConsumptionLastPeriod_, f, this), + currentBillingPeriodOverAllConsumption_ (x.currentBillingPeriodOverAllConsumption_, f, this), + currentDayLastYearNetConsumption_ (x.currentDayLastYearNetConsumption_, f, this), + currentDayNetConsumption_ (x.currentDayNetConsumption_, f, this), + currentDayOverallConsumption_ (x.currentDayOverallConsumption_, f, this), + peakDemand_ (x.peakDemand_, f, this), + previousDayLastYearOverallConsumption_ (x.previousDayLastYearOverallConsumption_, f, this), + previousDayNetConsumption_ (x.previousDayNetConsumption_, f, this), + previousDayOverallConsumption_ (x.previousDayOverallConsumption_, f, this), + qualityOfReading_ (x.qualityOfReading_, f, this), + ratchetDemand_ (x.ratchetDemand_, f, this), + ratchetDemandPeriod_ (x.ratchetDemandPeriod_, f, this), + statusTimeStamp_ (x.statusTimeStamp_, f, this) + { + } + + ElectricPowerUsageSummary:: + ElectricPowerUsageSummary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + billingPeriod_ (this), + billLastPeriod_ (this), + billToDate_ (this), + costAdditionalLastPeriod_ (this), + costAdditionalDetailLastPeriod_ (this), + currency_ (this), + overallConsumptionLastPeriod_ (this), + currentBillingPeriodOverAllConsumption_ (this), + currentDayLastYearNetConsumption_ (this), + currentDayNetConsumption_ (this), + currentDayOverallConsumption_ (this), + peakDemand_ (this), + previousDayLastYearOverallConsumption_ (this), + previousDayNetConsumption_ (this), + previousDayOverallConsumption_ (this), + qualityOfReading_ (this), + ratchetDemand_ (this), + ratchetDemandPeriod_ (this), + statusTimeStamp_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ElectricPowerUsageSummary:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // billingPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "billingPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< billingPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->billingPeriod_) + { + ::std::auto_ptr< billingPeriod_type > r ( + dynamic_cast< billingPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->billingPeriod_.set (r); + continue; + } + } + } + + // billLastPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "billLastPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< billLastPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->billLastPeriod_) + { + ::std::auto_ptr< billLastPeriod_type > r ( + dynamic_cast< billLastPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->billLastPeriod_.set (r); + continue; + } + } + } + + // billToDate + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "billToDate", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< billToDate_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->billToDate_) + { + ::std::auto_ptr< billToDate_type > r ( + dynamic_cast< billToDate_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->billToDate_.set (r); + continue; + } + } + } + + // costAdditionalLastPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "costAdditionalLastPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< costAdditionalLastPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->costAdditionalLastPeriod_) + { + ::std::auto_ptr< costAdditionalLastPeriod_type > r ( + dynamic_cast< costAdditionalLastPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->costAdditionalLastPeriod_.set (r); + continue; + } + } + } + + // costAdditionalDetailLastPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "costAdditionalDetailLastPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< costAdditionalDetailLastPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< costAdditionalDetailLastPeriod_type > r ( + dynamic_cast< costAdditionalDetailLastPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->costAdditionalDetailLastPeriod_.push_back (r); + continue; + } + } + + // currency + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currency", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currency_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currency_) + { + ::std::auto_ptr< currency_type > r ( + dynamic_cast< currency_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currency_.set (r); + continue; + } + } + } + + // overallConsumptionLastPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "overallConsumptionLastPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< overallConsumptionLastPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->overallConsumptionLastPeriod_) + { + ::std::auto_ptr< overallConsumptionLastPeriod_type > r ( + dynamic_cast< overallConsumptionLastPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->overallConsumptionLastPeriod_.set (r); + continue; + } + } + } + + // currentBillingPeriodOverAllConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentBillingPeriodOverAllConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currentBillingPeriodOverAllConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currentBillingPeriodOverAllConsumption_) + { + ::std::auto_ptr< currentBillingPeriodOverAllConsumption_type > r ( + dynamic_cast< currentBillingPeriodOverAllConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentBillingPeriodOverAllConsumption_.set (r); + continue; + } + } + } + + // currentDayLastYearNetConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentDayLastYearNetConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currentDayLastYearNetConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currentDayLastYearNetConsumption_) + { + ::std::auto_ptr< currentDayLastYearNetConsumption_type > r ( + dynamic_cast< currentDayLastYearNetConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentDayLastYearNetConsumption_.set (r); + continue; + } + } + } + + // currentDayNetConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentDayNetConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currentDayNetConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currentDayNetConsumption_) + { + ::std::auto_ptr< currentDayNetConsumption_type > r ( + dynamic_cast< currentDayNetConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentDayNetConsumption_.set (r); + continue; + } + } + } + + // currentDayOverallConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentDayOverallConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currentDayOverallConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currentDayOverallConsumption_) + { + ::std::auto_ptr< currentDayOverallConsumption_type > r ( + dynamic_cast< currentDayOverallConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentDayOverallConsumption_.set (r); + continue; + } + } + } + + // peakDemand + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "peakDemand", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< peakDemand_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->peakDemand_) + { + ::std::auto_ptr< peakDemand_type > r ( + dynamic_cast< peakDemand_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->peakDemand_.set (r); + continue; + } + } + } + + // previousDayLastYearOverallConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "previousDayLastYearOverallConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< previousDayLastYearOverallConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->previousDayLastYearOverallConsumption_) + { + ::std::auto_ptr< previousDayLastYearOverallConsumption_type > r ( + dynamic_cast< previousDayLastYearOverallConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->previousDayLastYearOverallConsumption_.set (r); + continue; + } + } + } + + // previousDayNetConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "previousDayNetConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< previousDayNetConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->previousDayNetConsumption_) + { + ::std::auto_ptr< previousDayNetConsumption_type > r ( + dynamic_cast< previousDayNetConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->previousDayNetConsumption_.set (r); + continue; + } + } + } + + // previousDayOverallConsumption + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "previousDayOverallConsumption", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< previousDayOverallConsumption_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->previousDayOverallConsumption_) + { + ::std::auto_ptr< previousDayOverallConsumption_type > r ( + dynamic_cast< previousDayOverallConsumption_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->previousDayOverallConsumption_.set (r); + continue; + } + } + } + + // qualityOfReading + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "qualityOfReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< qualityOfReading_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->qualityOfReading_) + { + ::std::auto_ptr< qualityOfReading_type > r ( + dynamic_cast< qualityOfReading_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->qualityOfReading_.set (r); + continue; + } + } + } + + // ratchetDemand + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ratchetDemand", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ratchetDemand_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ratchetDemand_) + { + ::std::auto_ptr< ratchetDemand_type > r ( + dynamic_cast< ratchetDemand_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ratchetDemand_.set (r); + continue; + } + } + } + + // ratchetDemandPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ratchetDemandPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ratchetDemandPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ratchetDemandPeriod_) + { + ::std::auto_ptr< ratchetDemandPeriod_type > r ( + dynamic_cast< ratchetDemandPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ratchetDemandPeriod_.set (r); + continue; + } + } + } + + // statusTimeStamp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "statusTimeStamp", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< statusTimeStamp_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!statusTimeStamp_.present ()) + { + ::std::auto_ptr< statusTimeStamp_type > r ( + dynamic_cast< statusTimeStamp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->statusTimeStamp_.set (r); + continue; + } + } + } + + break; + } + + if (!statusTimeStamp_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "statusTimeStamp", + "http://naesb.org/espi"); + } + } + + ElectricPowerUsageSummary* ElectricPowerUsageSummary:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ElectricPowerUsageSummary (*this, f, c); + } + + ElectricPowerUsageSummary& ElectricPowerUsageSummary:: + operator= (const ElectricPowerUsageSummary& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->billingPeriod_ = x.billingPeriod_; + this->billLastPeriod_ = x.billLastPeriod_; + this->billToDate_ = x.billToDate_; + this->costAdditionalLastPeriod_ = x.costAdditionalLastPeriod_; + this->costAdditionalDetailLastPeriod_ = x.costAdditionalDetailLastPeriod_; + this->currency_ = x.currency_; + this->overallConsumptionLastPeriod_ = x.overallConsumptionLastPeriod_; + this->currentBillingPeriodOverAllConsumption_ = x.currentBillingPeriodOverAllConsumption_; + this->currentDayLastYearNetConsumption_ = x.currentDayLastYearNetConsumption_; + this->currentDayNetConsumption_ = x.currentDayNetConsumption_; + this->currentDayOverallConsumption_ = x.currentDayOverallConsumption_; + this->peakDemand_ = x.peakDemand_; + this->previousDayLastYearOverallConsumption_ = x.previousDayLastYearOverallConsumption_; + this->previousDayNetConsumption_ = x.previousDayNetConsumption_; + this->previousDayOverallConsumption_ = x.previousDayOverallConsumption_; + this->qualityOfReading_ = x.qualityOfReading_; + this->ratchetDemand_ = x.ratchetDemand_; + this->ratchetDemandPeriod_ = x.ratchetDemandPeriod_; + this->statusTimeStamp_ = x.statusTimeStamp_; + } + + return *this; + } + + ElectricPowerUsageSummary:: + ~ElectricPowerUsageSummary () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ElectricPowerUsageSummary > + _xsd_ElectricPowerUsageSummary_type_factory_init ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ElectricPowerUsageSummary& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // billingPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.billingPeriod ()) + { + const ElectricPowerUsageSummary::billingPeriod_type& x (*i.billingPeriod ()); + if (typeid (ElectricPowerUsageSummary::billingPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "billingPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "billingPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // billLastPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.billLastPeriod ()) + { + const ElectricPowerUsageSummary::billLastPeriod_type& x (*i.billLastPeriod ()); + if (typeid (ElectricPowerUsageSummary::billLastPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "billLastPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "billLastPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // billToDate + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.billToDate ()) + { + const ElectricPowerUsageSummary::billToDate_type& x (*i.billToDate ()); + if (typeid (ElectricPowerUsageSummary::billToDate_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "billToDate", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "billToDate", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // costAdditionalLastPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.costAdditionalLastPeriod ()) + { + const ElectricPowerUsageSummary::costAdditionalLastPeriod_type& x (*i.costAdditionalLastPeriod ()); + if (typeid (ElectricPowerUsageSummary::costAdditionalLastPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "costAdditionalLastPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "costAdditionalLastPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // costAdditionalDetailLastPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (ElectricPowerUsageSummary::costAdditionalDetailLastPeriod_const_iterator + b (i.costAdditionalDetailLastPeriod ().begin ()), n (i.costAdditionalDetailLastPeriod ().end ()); + b != n; ++b) + { + if (typeid (ElectricPowerUsageSummary::costAdditionalDetailLastPeriod_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "costAdditionalDetailLastPeriod", + "http://naesb.org/espi", + e)); + + s << *b; + } + else + tsm.serialize ( + "costAdditionalDetailLastPeriod", + "http://naesb.org/espi", + false, true, e, *b); + } + } + + // currency + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currency ()) + { + const ElectricPowerUsageSummary::currency_type& x (*i.currency ()); + if (typeid (ElectricPowerUsageSummary::currency_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currency", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currency", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // overallConsumptionLastPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.overallConsumptionLastPeriod ()) + { + const ElectricPowerUsageSummary::overallConsumptionLastPeriod_type& x (*i.overallConsumptionLastPeriod ()); + if (typeid (ElectricPowerUsageSummary::overallConsumptionLastPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "overallConsumptionLastPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "overallConsumptionLastPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // currentBillingPeriodOverAllConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currentBillingPeriodOverAllConsumption ()) + { + const ElectricPowerUsageSummary::currentBillingPeriodOverAllConsumption_type& x (*i.currentBillingPeriodOverAllConsumption ()); + if (typeid (ElectricPowerUsageSummary::currentBillingPeriodOverAllConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentBillingPeriodOverAllConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currentBillingPeriodOverAllConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // currentDayLastYearNetConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currentDayLastYearNetConsumption ()) + { + const ElectricPowerUsageSummary::currentDayLastYearNetConsumption_type& x (*i.currentDayLastYearNetConsumption ()); + if (typeid (ElectricPowerUsageSummary::currentDayLastYearNetConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentDayLastYearNetConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currentDayLastYearNetConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // currentDayNetConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currentDayNetConsumption ()) + { + const ElectricPowerUsageSummary::currentDayNetConsumption_type& x (*i.currentDayNetConsumption ()); + if (typeid (ElectricPowerUsageSummary::currentDayNetConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentDayNetConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currentDayNetConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // currentDayOverallConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currentDayOverallConsumption ()) + { + const ElectricPowerUsageSummary::currentDayOverallConsumption_type& x (*i.currentDayOverallConsumption ()); + if (typeid (ElectricPowerUsageSummary::currentDayOverallConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentDayOverallConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currentDayOverallConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // peakDemand + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.peakDemand ()) + { + const ElectricPowerUsageSummary::peakDemand_type& x (*i.peakDemand ()); + if (typeid (ElectricPowerUsageSummary::peakDemand_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "peakDemand", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "peakDemand", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // previousDayLastYearOverallConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.previousDayLastYearOverallConsumption ()) + { + const ElectricPowerUsageSummary::previousDayLastYearOverallConsumption_type& x (*i.previousDayLastYearOverallConsumption ()); + if (typeid (ElectricPowerUsageSummary::previousDayLastYearOverallConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "previousDayLastYearOverallConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "previousDayLastYearOverallConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // previousDayNetConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.previousDayNetConsumption ()) + { + const ElectricPowerUsageSummary::previousDayNetConsumption_type& x (*i.previousDayNetConsumption ()); + if (typeid (ElectricPowerUsageSummary::previousDayNetConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "previousDayNetConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "previousDayNetConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // previousDayOverallConsumption + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.previousDayOverallConsumption ()) + { + const ElectricPowerUsageSummary::previousDayOverallConsumption_type& x (*i.previousDayOverallConsumption ()); + if (typeid (ElectricPowerUsageSummary::previousDayOverallConsumption_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "previousDayOverallConsumption", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "previousDayOverallConsumption", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // qualityOfReading + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.qualityOfReading ()) + { + const ElectricPowerUsageSummary::qualityOfReading_type& x (*i.qualityOfReading ()); + if (typeid (ElectricPowerUsageSummary::qualityOfReading_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "qualityOfReading", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "qualityOfReading", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // ratchetDemand + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ratchetDemand ()) + { + const ElectricPowerUsageSummary::ratchetDemand_type& x (*i.ratchetDemand ()); + if (typeid (ElectricPowerUsageSummary::ratchetDemand_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ratchetDemand", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "ratchetDemand", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // ratchetDemandPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ratchetDemandPeriod ()) + { + const ElectricPowerUsageSummary::ratchetDemandPeriod_type& x (*i.ratchetDemandPeriod ()); + if (typeid (ElectricPowerUsageSummary::ratchetDemandPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ratchetDemandPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "ratchetDemandPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // statusTimeStamp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ElectricPowerUsageSummary::statusTimeStamp_type& x (i.statusTimeStamp ()); + if (typeid (ElectricPowerUsageSummary::statusTimeStamp_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "statusTimeStamp", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "statusTimeStamp", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ElectricPowerUsageSummary > + _xsd_ElectricPowerUsageSummary_type_serializer_init ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.hxx b/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.hxx new file mode 100644 index 0000000..1df7b7a --- /dev/null +++ b/oadrsd/oadrsd/2b/ElectricPowerUsageSummary.hxx @@ -0,0 +1,789 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ELECTRIC_POWER_USAGE_SUMMARY_HXX +#define ELECTRIC_POWER_USAGE_SUMMARY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ElectricPowerUsageSummary; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class DateTimeInterval; +} + +namespace espi +{ + class Int48; +} + +namespace espi +{ + class LineItem; +} + +namespace espi +{ + class Currency; +} + +namespace espi +{ + class SummaryMeasurement; +} + +namespace espi +{ + class QualityOfReading; +} + +namespace espi +{ + class TimeType; +} + +namespace espi +{ + class ElectricPowerUsageSummary: public ::espi::IdentifiedObject + { + public: + // billingPeriod + // + typedef ::espi::DateTimeInterval billingPeriod_type; + typedef ::xsd::cxx::tree::optional< billingPeriod_type > billingPeriod_optional; + typedef ::xsd::cxx::tree::traits< billingPeriod_type, char > billingPeriod_traits; + + const billingPeriod_optional& + billingPeriod () const; + + billingPeriod_optional& + billingPeriod (); + + void + billingPeriod (const billingPeriod_type& x); + + void + billingPeriod (const billingPeriod_optional& x); + + void + billingPeriod (::std::auto_ptr< billingPeriod_type > p); + + // billLastPeriod + // + typedef ::espi::Int48 billLastPeriod_type; + typedef ::xsd::cxx::tree::optional< billLastPeriod_type > billLastPeriod_optional; + typedef ::xsd::cxx::tree::traits< billLastPeriod_type, char > billLastPeriod_traits; + + const billLastPeriod_optional& + billLastPeriod () const; + + billLastPeriod_optional& + billLastPeriod (); + + void + billLastPeriod (const billLastPeriod_type& x); + + void + billLastPeriod (const billLastPeriod_optional& x); + + void + billLastPeriod (::std::auto_ptr< billLastPeriod_type > p); + + // billToDate + // + typedef ::espi::Int48 billToDate_type; + typedef ::xsd::cxx::tree::optional< billToDate_type > billToDate_optional; + typedef ::xsd::cxx::tree::traits< billToDate_type, char > billToDate_traits; + + const billToDate_optional& + billToDate () const; + + billToDate_optional& + billToDate (); + + void + billToDate (const billToDate_type& x); + + void + billToDate (const billToDate_optional& x); + + void + billToDate (::std::auto_ptr< billToDate_type > p); + + // costAdditionalLastPeriod + // + typedef ::espi::Int48 costAdditionalLastPeriod_type; + typedef ::xsd::cxx::tree::optional< costAdditionalLastPeriod_type > costAdditionalLastPeriod_optional; + typedef ::xsd::cxx::tree::traits< costAdditionalLastPeriod_type, char > costAdditionalLastPeriod_traits; + + const costAdditionalLastPeriod_optional& + costAdditionalLastPeriod () const; + + costAdditionalLastPeriod_optional& + costAdditionalLastPeriod (); + + void + costAdditionalLastPeriod (const costAdditionalLastPeriod_type& x); + + void + costAdditionalLastPeriod (const costAdditionalLastPeriod_optional& x); + + void + costAdditionalLastPeriod (::std::auto_ptr< costAdditionalLastPeriod_type > p); + + // costAdditionalDetailLastPeriod + // + typedef ::espi::LineItem costAdditionalDetailLastPeriod_type; + typedef ::xsd::cxx::tree::sequence< costAdditionalDetailLastPeriod_type > costAdditionalDetailLastPeriod_sequence; + typedef costAdditionalDetailLastPeriod_sequence::iterator costAdditionalDetailLastPeriod_iterator; + typedef costAdditionalDetailLastPeriod_sequence::const_iterator costAdditionalDetailLastPeriod_const_iterator; + typedef ::xsd::cxx::tree::traits< costAdditionalDetailLastPeriod_type, char > costAdditionalDetailLastPeriod_traits; + + const costAdditionalDetailLastPeriod_sequence& + costAdditionalDetailLastPeriod () const; + + costAdditionalDetailLastPeriod_sequence& + costAdditionalDetailLastPeriod (); + + void + costAdditionalDetailLastPeriod (const costAdditionalDetailLastPeriod_sequence& s); + + // currency + // + typedef ::espi::Currency currency_type; + typedef ::xsd::cxx::tree::optional< currency_type > currency_optional; + typedef ::xsd::cxx::tree::traits< currency_type, char > currency_traits; + + const currency_optional& + currency () const; + + currency_optional& + currency (); + + void + currency (const currency_type& x); + + void + currency (const currency_optional& x); + + void + currency (::std::auto_ptr< currency_type > p); + + // overallConsumptionLastPeriod + // + typedef ::espi::SummaryMeasurement overallConsumptionLastPeriod_type; + typedef ::xsd::cxx::tree::optional< overallConsumptionLastPeriod_type > overallConsumptionLastPeriod_optional; + typedef ::xsd::cxx::tree::traits< overallConsumptionLastPeriod_type, char > overallConsumptionLastPeriod_traits; + + const overallConsumptionLastPeriod_optional& + overallConsumptionLastPeriod () const; + + overallConsumptionLastPeriod_optional& + overallConsumptionLastPeriod (); + + void + overallConsumptionLastPeriod (const overallConsumptionLastPeriod_type& x); + + void + overallConsumptionLastPeriod (const overallConsumptionLastPeriod_optional& x); + + void + overallConsumptionLastPeriod (::std::auto_ptr< overallConsumptionLastPeriod_type > p); + + // currentBillingPeriodOverAllConsumption + // + typedef ::espi::SummaryMeasurement currentBillingPeriodOverAllConsumption_type; + typedef ::xsd::cxx::tree::optional< currentBillingPeriodOverAllConsumption_type > currentBillingPeriodOverAllConsumption_optional; + typedef ::xsd::cxx::tree::traits< currentBillingPeriodOverAllConsumption_type, char > currentBillingPeriodOverAllConsumption_traits; + + const currentBillingPeriodOverAllConsumption_optional& + currentBillingPeriodOverAllConsumption () const; + + currentBillingPeriodOverAllConsumption_optional& + currentBillingPeriodOverAllConsumption (); + + void + currentBillingPeriodOverAllConsumption (const currentBillingPeriodOverAllConsumption_type& x); + + void + currentBillingPeriodOverAllConsumption (const currentBillingPeriodOverAllConsumption_optional& x); + + void + currentBillingPeriodOverAllConsumption (::std::auto_ptr< currentBillingPeriodOverAllConsumption_type > p); + + // currentDayLastYearNetConsumption + // + typedef ::espi::SummaryMeasurement currentDayLastYearNetConsumption_type; + typedef ::xsd::cxx::tree::optional< currentDayLastYearNetConsumption_type > currentDayLastYearNetConsumption_optional; + typedef ::xsd::cxx::tree::traits< currentDayLastYearNetConsumption_type, char > currentDayLastYearNetConsumption_traits; + + const currentDayLastYearNetConsumption_optional& + currentDayLastYearNetConsumption () const; + + currentDayLastYearNetConsumption_optional& + currentDayLastYearNetConsumption (); + + void + currentDayLastYearNetConsumption (const currentDayLastYearNetConsumption_type& x); + + void + currentDayLastYearNetConsumption (const currentDayLastYearNetConsumption_optional& x); + + void + currentDayLastYearNetConsumption (::std::auto_ptr< currentDayLastYearNetConsumption_type > p); + + // currentDayNetConsumption + // + typedef ::espi::SummaryMeasurement currentDayNetConsumption_type; + typedef ::xsd::cxx::tree::optional< currentDayNetConsumption_type > currentDayNetConsumption_optional; + typedef ::xsd::cxx::tree::traits< currentDayNetConsumption_type, char > currentDayNetConsumption_traits; + + const currentDayNetConsumption_optional& + currentDayNetConsumption () const; + + currentDayNetConsumption_optional& + currentDayNetConsumption (); + + void + currentDayNetConsumption (const currentDayNetConsumption_type& x); + + void + currentDayNetConsumption (const currentDayNetConsumption_optional& x); + + void + currentDayNetConsumption (::std::auto_ptr< currentDayNetConsumption_type > p); + + // currentDayOverallConsumption + // + typedef ::espi::SummaryMeasurement currentDayOverallConsumption_type; + typedef ::xsd::cxx::tree::optional< currentDayOverallConsumption_type > currentDayOverallConsumption_optional; + typedef ::xsd::cxx::tree::traits< currentDayOverallConsumption_type, char > currentDayOverallConsumption_traits; + + const currentDayOverallConsumption_optional& + currentDayOverallConsumption () const; + + currentDayOverallConsumption_optional& + currentDayOverallConsumption (); + + void + currentDayOverallConsumption (const currentDayOverallConsumption_type& x); + + void + currentDayOverallConsumption (const currentDayOverallConsumption_optional& x); + + void + currentDayOverallConsumption (::std::auto_ptr< currentDayOverallConsumption_type > p); + + // peakDemand + // + typedef ::espi::SummaryMeasurement peakDemand_type; + typedef ::xsd::cxx::tree::optional< peakDemand_type > peakDemand_optional; + typedef ::xsd::cxx::tree::traits< peakDemand_type, char > peakDemand_traits; + + const peakDemand_optional& + peakDemand () const; + + peakDemand_optional& + peakDemand (); + + void + peakDemand (const peakDemand_type& x); + + void + peakDemand (const peakDemand_optional& x); + + void + peakDemand (::std::auto_ptr< peakDemand_type > p); + + // previousDayLastYearOverallConsumption + // + typedef ::espi::SummaryMeasurement previousDayLastYearOverallConsumption_type; + typedef ::xsd::cxx::tree::optional< previousDayLastYearOverallConsumption_type > previousDayLastYearOverallConsumption_optional; + typedef ::xsd::cxx::tree::traits< previousDayLastYearOverallConsumption_type, char > previousDayLastYearOverallConsumption_traits; + + const previousDayLastYearOverallConsumption_optional& + previousDayLastYearOverallConsumption () const; + + previousDayLastYearOverallConsumption_optional& + previousDayLastYearOverallConsumption (); + + void + previousDayLastYearOverallConsumption (const previousDayLastYearOverallConsumption_type& x); + + void + previousDayLastYearOverallConsumption (const previousDayLastYearOverallConsumption_optional& x); + + void + previousDayLastYearOverallConsumption (::std::auto_ptr< previousDayLastYearOverallConsumption_type > p); + + // previousDayNetConsumption + // + typedef ::espi::SummaryMeasurement previousDayNetConsumption_type; + typedef ::xsd::cxx::tree::optional< previousDayNetConsumption_type > previousDayNetConsumption_optional; + typedef ::xsd::cxx::tree::traits< previousDayNetConsumption_type, char > previousDayNetConsumption_traits; + + const previousDayNetConsumption_optional& + previousDayNetConsumption () const; + + previousDayNetConsumption_optional& + previousDayNetConsumption (); + + void + previousDayNetConsumption (const previousDayNetConsumption_type& x); + + void + previousDayNetConsumption (const previousDayNetConsumption_optional& x); + + void + previousDayNetConsumption (::std::auto_ptr< previousDayNetConsumption_type > p); + + // previousDayOverallConsumption + // + typedef ::espi::SummaryMeasurement previousDayOverallConsumption_type; + typedef ::xsd::cxx::tree::optional< previousDayOverallConsumption_type > previousDayOverallConsumption_optional; + typedef ::xsd::cxx::tree::traits< previousDayOverallConsumption_type, char > previousDayOverallConsumption_traits; + + const previousDayOverallConsumption_optional& + previousDayOverallConsumption () const; + + previousDayOverallConsumption_optional& + previousDayOverallConsumption (); + + void + previousDayOverallConsumption (const previousDayOverallConsumption_type& x); + + void + previousDayOverallConsumption (const previousDayOverallConsumption_optional& x); + + void + previousDayOverallConsumption (::std::auto_ptr< previousDayOverallConsumption_type > p); + + // qualityOfReading + // + typedef ::espi::QualityOfReading qualityOfReading_type; + typedef ::xsd::cxx::tree::optional< qualityOfReading_type > qualityOfReading_optional; + typedef ::xsd::cxx::tree::traits< qualityOfReading_type, char > qualityOfReading_traits; + + const qualityOfReading_optional& + qualityOfReading () const; + + qualityOfReading_optional& + qualityOfReading (); + + void + qualityOfReading (const qualityOfReading_type& x); + + void + qualityOfReading (const qualityOfReading_optional& x); + + void + qualityOfReading (::std::auto_ptr< qualityOfReading_type > p); + + // ratchetDemand + // + typedef ::espi::SummaryMeasurement ratchetDemand_type; + typedef ::xsd::cxx::tree::optional< ratchetDemand_type > ratchetDemand_optional; + typedef ::xsd::cxx::tree::traits< ratchetDemand_type, char > ratchetDemand_traits; + + const ratchetDemand_optional& + ratchetDemand () const; + + ratchetDemand_optional& + ratchetDemand (); + + void + ratchetDemand (const ratchetDemand_type& x); + + void + ratchetDemand (const ratchetDemand_optional& x); + + void + ratchetDemand (::std::auto_ptr< ratchetDemand_type > p); + + // ratchetDemandPeriod + // + typedef ::espi::DateTimeInterval ratchetDemandPeriod_type; + typedef ::xsd::cxx::tree::optional< ratchetDemandPeriod_type > ratchetDemandPeriod_optional; + typedef ::xsd::cxx::tree::traits< ratchetDemandPeriod_type, char > ratchetDemandPeriod_traits; + + const ratchetDemandPeriod_optional& + ratchetDemandPeriod () const; + + ratchetDemandPeriod_optional& + ratchetDemandPeriod (); + + void + ratchetDemandPeriod (const ratchetDemandPeriod_type& x); + + void + ratchetDemandPeriod (const ratchetDemandPeriod_optional& x); + + void + ratchetDemandPeriod (::std::auto_ptr< ratchetDemandPeriod_type > p); + + // statusTimeStamp + // + typedef ::espi::TimeType statusTimeStamp_type; + typedef ::xsd::cxx::tree::traits< statusTimeStamp_type, char > statusTimeStamp_traits; + + const statusTimeStamp_type& + statusTimeStamp () const; + + statusTimeStamp_type& + statusTimeStamp (); + + void + statusTimeStamp (const statusTimeStamp_type& x); + + void + statusTimeStamp (::std::auto_ptr< statusTimeStamp_type > p); + + // Constructors. + // + ElectricPowerUsageSummary (const statusTimeStamp_type&); + + ElectricPowerUsageSummary (::std::auto_ptr< statusTimeStamp_type >); + + ElectricPowerUsageSummary (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ElectricPowerUsageSummary (const ElectricPowerUsageSummary& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ElectricPowerUsageSummary* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ElectricPowerUsageSummary& + operator= (const ElectricPowerUsageSummary& x); + + virtual + ~ElectricPowerUsageSummary (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + billingPeriod_optional billingPeriod_; + billLastPeriod_optional billLastPeriod_; + billToDate_optional billToDate_; + costAdditionalLastPeriod_optional costAdditionalLastPeriod_; + costAdditionalDetailLastPeriod_sequence costAdditionalDetailLastPeriod_; + currency_optional currency_; + overallConsumptionLastPeriod_optional overallConsumptionLastPeriod_; + currentBillingPeriodOverAllConsumption_optional currentBillingPeriodOverAllConsumption_; + currentDayLastYearNetConsumption_optional currentDayLastYearNetConsumption_; + currentDayNetConsumption_optional currentDayNetConsumption_; + currentDayOverallConsumption_optional currentDayOverallConsumption_; + peakDemand_optional peakDemand_; + previousDayLastYearOverallConsumption_optional previousDayLastYearOverallConsumption_; + previousDayNetConsumption_optional previousDayNetConsumption_; + previousDayOverallConsumption_optional previousDayOverallConsumption_; + qualityOfReading_optional qualityOfReading_; + ratchetDemand_optional ratchetDemand_; + ratchetDemandPeriod_optional ratchetDemandPeriod_; + ::xsd::cxx::tree::one< statusTimeStamp_type > statusTimeStamp_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ElectricPowerUsageSummary&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ELECTRIC_POWER_USAGE_SUMMARY_HXX diff --git a/oadrsd/oadrsd/2b/EndDeviceAssetType.cxx b/oadrsd/oadrsd/2b/EndDeviceAssetType.cxx new file mode 100644 index 0000000..34393b6 --- /dev/null +++ b/oadrsd/oadrsd/2b/EndDeviceAssetType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EndDeviceAssetType.hxx" + +#include "MridType.hxx" + +namespace power +{ + // EndDeviceAssetType + // + + const EndDeviceAssetType::mrid_type& EndDeviceAssetType:: + mrid () const + { + return this->mrid_.get (); + } + + EndDeviceAssetType::mrid_type& EndDeviceAssetType:: + mrid () + { + return this->mrid_.get (); + } + + void EndDeviceAssetType:: + mrid (const mrid_type& x) + { + this->mrid_.set (x); + } + + void EndDeviceAssetType:: + mrid (::std::auto_ptr< mrid_type > x) + { + this->mrid_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // EndDeviceAssetType + // + + EndDeviceAssetType:: + EndDeviceAssetType (const mrid_type& mrid) + : ::xml_schema::type (), + mrid_ (mrid, this) + { + } + + EndDeviceAssetType:: + EndDeviceAssetType (::std::auto_ptr< mrid_type > mrid) + : ::xml_schema::type (), + mrid_ (mrid, this) + { + } + + EndDeviceAssetType:: + EndDeviceAssetType (const EndDeviceAssetType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + mrid_ (x.mrid_, f, this) + { + } + + EndDeviceAssetType:: + EndDeviceAssetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + mrid_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void EndDeviceAssetType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // mrid + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< mrid_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!mrid_.present ()) + { + ::std::auto_ptr< mrid_type > r ( + dynamic_cast< mrid_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->mrid_.set (r); + continue; + } + } + } + + break; + } + + if (!mrid_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + EndDeviceAssetType* EndDeviceAssetType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EndDeviceAssetType (*this, f, c); + } + + EndDeviceAssetType& EndDeviceAssetType:: + operator= (const EndDeviceAssetType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->mrid_ = x.mrid_; + } + + return *this; + } + + EndDeviceAssetType:: + ~EndDeviceAssetType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EndDeviceAssetType > + _xsd_EndDeviceAssetType_type_factory_init ( + "EndDeviceAssetType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const EndDeviceAssetType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // mrid + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EndDeviceAssetType::mrid_type& x (i.mrid ()); + if (typeid (EndDeviceAssetType::mrid_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EndDeviceAssetType > + _xsd_EndDeviceAssetType_type_serializer_init ( + "EndDeviceAssetType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EndDeviceAssetType.hxx b/oadrsd/oadrsd/2b/EndDeviceAssetType.hxx new file mode 100644 index 0000000..68ded96 --- /dev/null +++ b/oadrsd/oadrsd/2b/EndDeviceAssetType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef END_DEVICE_ASSET_TYPE_HXX +#define END_DEVICE_ASSET_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class EndDeviceAssetType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class MridType; +} + +namespace power +{ + class EndDeviceAssetType: public ::xml_schema::type + { + public: + // mrid + // + typedef ::power::MridType mrid_type; + typedef ::xsd::cxx::tree::traits< mrid_type, char > mrid_traits; + + const mrid_type& + mrid () const; + + mrid_type& + mrid (); + + void + mrid (const mrid_type& x); + + void + mrid (::std::auto_ptr< mrid_type > p); + + // Constructors. + // + EndDeviceAssetType (const mrid_type&); + + EndDeviceAssetType (::std::auto_ptr< mrid_type >); + + EndDeviceAssetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EndDeviceAssetType (const EndDeviceAssetType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EndDeviceAssetType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EndDeviceAssetType& + operator= (const EndDeviceAssetType& x); + + virtual + ~EndDeviceAssetType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< mrid_type > mrid_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const EndDeviceAssetType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // END_DEVICE_ASSET_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EnergyApparentType.cxx b/oadrsd/oadrsd/2b/EnergyApparentType.cxx new file mode 100644 index 0000000..5fed0d2 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyApparentType.cxx @@ -0,0 +1,162 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EnergyApparentType.hxx" + +namespace power +{ + // EnergyApparentType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // EnergyApparentType + // + + EnergyApparentType:: + EnergyApparentType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyApparentType:: + EnergyApparentType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyApparentType:: + EnergyApparentType (const EnergyApparentType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (x, f, c) + { + } + + EnergyApparentType:: + EnergyApparentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (e, f, c) + { + } + + EnergyApparentType* EnergyApparentType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EnergyApparentType (*this, f, c); + } + + EnergyApparentType:: + ~EnergyApparentType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EnergyApparentType > + _xsd_EnergyApparentType_type_factory_init ( + "EnergyApparentType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const EnergyApparentType& i) + { + e << static_cast< const ::power::EnergyItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EnergyApparentType > + _xsd_EnergyApparentType_type_serializer_init ( + "EnergyApparentType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EnergyApparentType.hxx b/oadrsd/oadrsd/2b/EnergyApparentType.hxx new file mode 100644 index 0000000..88bb0a3 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyApparentType.hxx @@ -0,0 +1,336 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ENERGY_APPARENT_TYPE_HXX +#define ENERGY_APPARENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class EnergyApparentType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "EnergyItemType.hxx" + +namespace power +{ + class EnergyApparentType: public ::power::EnergyItemType + { + public: + // Constructors. + // + EnergyApparentType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + EnergyApparentType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + EnergyApparentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EnergyApparentType (const EnergyApparentType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EnergyApparentType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~EnergyApparentType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const EnergyApparentType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ENERGY_APPARENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EnergyItemType.cxx b/oadrsd/oadrsd/2b/EnergyItemType.cxx new file mode 100644 index 0000000..04a43d0 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyItemType.cxx @@ -0,0 +1,454 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EnergyItemType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace power +{ + // EnergyItemType + // + + const EnergyItemType::itemDescription_type& EnergyItemType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + EnergyItemType::itemDescription_type& EnergyItemType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void EnergyItemType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void EnergyItemType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const EnergyItemType::itemUnits_type& EnergyItemType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + EnergyItemType::itemUnits_type& EnergyItemType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void EnergyItemType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void EnergyItemType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const EnergyItemType::siScaleCode_type& EnergyItemType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + EnergyItemType::siScaleCode_type& EnergyItemType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void EnergyItemType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void EnergyItemType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // EnergyItemType + // + + EnergyItemType:: + EnergyItemType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + EnergyItemType:: + EnergyItemType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + EnergyItemType:: + EnergyItemType (const EnergyItemType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + EnergyItemType:: + EnergyItemType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void EnergyItemType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + EnergyItemType* EnergyItemType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EnergyItemType (*this, f, c); + } + + EnergyItemType& EnergyItemType:: + operator= (const EnergyItemType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + EnergyItemType:: + ~EnergyItemType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EnergyItemType > + _xsd_EnergyItemType_type_factory_init ( + "EnergyItemType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const EnergyItemType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EnergyItemType::itemDescription_type& x (i.itemDescription ()); + if (typeid (EnergyItemType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EnergyItemType::itemUnits_type& x (i.itemUnits ()); + if (typeid (EnergyItemType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const EnergyItemType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (EnergyItemType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EnergyItemType > + _xsd_EnergyItemType_type_serializer_init ( + "EnergyItemType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EnergyItemType.hxx b/oadrsd/oadrsd/2b/EnergyItemType.hxx new file mode 100644 index 0000000..216f4bb --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyItemType.hxx @@ -0,0 +1,407 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ENERGY_ITEM_TYPE_HXX +#define ENERGY_ITEM_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class EnergyItemType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace power +{ + class EnergyItemType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + EnergyItemType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + EnergyItemType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + EnergyItemType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EnergyItemType (const EnergyItemType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EnergyItemType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EnergyItemType& + operator= (const EnergyItemType& x); + + virtual + ~EnergyItemType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const EnergyItemType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ENERGY_ITEM_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EnergyReactiveType.cxx b/oadrsd/oadrsd/2b/EnergyReactiveType.cxx new file mode 100644 index 0000000..896cb71 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyReactiveType.cxx @@ -0,0 +1,162 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EnergyReactiveType.hxx" + +namespace power +{ + // EnergyReactiveType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // EnergyReactiveType + // + + EnergyReactiveType:: + EnergyReactiveType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyReactiveType:: + EnergyReactiveType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyReactiveType:: + EnergyReactiveType (const EnergyReactiveType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (x, f, c) + { + } + + EnergyReactiveType:: + EnergyReactiveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (e, f, c) + { + } + + EnergyReactiveType* EnergyReactiveType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EnergyReactiveType (*this, f, c); + } + + EnergyReactiveType:: + ~EnergyReactiveType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EnergyReactiveType > + _xsd_EnergyReactiveType_type_factory_init ( + "EnergyReactiveType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const EnergyReactiveType& i) + { + e << static_cast< const ::power::EnergyItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EnergyReactiveType > + _xsd_EnergyReactiveType_type_serializer_init ( + "EnergyReactiveType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EnergyReactiveType.hxx b/oadrsd/oadrsd/2b/EnergyReactiveType.hxx new file mode 100644 index 0000000..a36bbb0 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyReactiveType.hxx @@ -0,0 +1,336 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ENERGY_REACTIVE_TYPE_HXX +#define ENERGY_REACTIVE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class EnergyReactiveType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "EnergyItemType.hxx" + +namespace power +{ + class EnergyReactiveType: public ::power::EnergyItemType + { + public: + // Constructors. + // + EnergyReactiveType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + EnergyReactiveType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + EnergyReactiveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EnergyReactiveType (const EnergyReactiveType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EnergyReactiveType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~EnergyReactiveType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const EnergyReactiveType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ENERGY_REACTIVE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EnergyRealType.cxx b/oadrsd/oadrsd/2b/EnergyRealType.cxx new file mode 100644 index 0000000..10fe0b3 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyRealType.cxx @@ -0,0 +1,162 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EnergyRealType.hxx" + +namespace power +{ + // EnergyRealType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // EnergyRealType + // + + EnergyRealType:: + EnergyRealType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyRealType:: + EnergyRealType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::power::EnergyItemType (itemDescription, + itemUnits, + siScaleCode) + { + } + + EnergyRealType:: + EnergyRealType (const EnergyRealType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (x, f, c) + { + } + + EnergyRealType:: + EnergyRealType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::EnergyItemType (e, f, c) + { + } + + EnergyRealType* EnergyRealType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EnergyRealType (*this, f, c); + } + + EnergyRealType:: + ~EnergyRealType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EnergyRealType > + _xsd_EnergyRealType_type_factory_init ( + "EnergyRealType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const EnergyRealType& i) + { + e << static_cast< const ::power::EnergyItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EnergyRealType > + _xsd_EnergyRealType_type_serializer_init ( + "EnergyRealType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EnergyRealType.hxx b/oadrsd/oadrsd/2b/EnergyRealType.hxx new file mode 100644 index 0000000..1f567d0 --- /dev/null +++ b/oadrsd/oadrsd/2b/EnergyRealType.hxx @@ -0,0 +1,336 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ENERGY_REAL_TYPE_HXX +#define ENERGY_REAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class EnergyRealType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "EnergyItemType.hxx" + +namespace power +{ + class EnergyRealType: public ::power::EnergyItemType + { + public: + // Constructors. + // + EnergyRealType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + EnergyRealType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + EnergyRealType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EnergyRealType (const EnergyRealType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EnergyRealType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~EnergyRealType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const EnergyRealType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ENERGY_REAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/EventStatusEnumeratedType.cxx b/oadrsd/oadrsd/2b/EventStatusEnumeratedType.cxx new file mode 100644 index 0000000..ba57399 --- /dev/null +++ b/oadrsd/oadrsd/2b/EventStatusEnumeratedType.cxx @@ -0,0 +1,255 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "EventStatusEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // EventStatusEnumeratedType + // + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (value v) + : ::xml_schema::token (_xsd_EventStatusEnumeratedType_literals_[v]) + { + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const EventStatusEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + EventStatusEnumeratedType& EventStatusEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_EventStatusEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // EventStatusEnumeratedType + // + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_EventStatusEnumeratedType_convert (); + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_EventStatusEnumeratedType_convert (); + } + + EventStatusEnumeratedType:: + EventStatusEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_EventStatusEnumeratedType_convert (); + } + + EventStatusEnumeratedType* EventStatusEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class EventStatusEnumeratedType (*this, f, c); + } + + EventStatusEnumeratedType::value EventStatusEnumeratedType:: + _xsd_EventStatusEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_EventStatusEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_EventStatusEnumeratedType_indexes_, + _xsd_EventStatusEnumeratedType_indexes_ + 6, + *this, + c)); + + if (i == _xsd_EventStatusEnumeratedType_indexes_ + 6 || _xsd_EventStatusEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const EventStatusEnumeratedType:: + _xsd_EventStatusEnumeratedType_literals_[6] = + { + "none", + "far", + "near", + "active", + "completed", + "cancelled" + }; + + const EventStatusEnumeratedType::value EventStatusEnumeratedType:: + _xsd_EventStatusEnumeratedType_indexes_[6] = + { + ::oadr2b::ei::EventStatusEnumeratedType::active, + ::oadr2b::ei::EventStatusEnumeratedType::cancelled, + ::oadr2b::ei::EventStatusEnumeratedType::completed, + ::oadr2b::ei::EventStatusEnumeratedType::far, + ::oadr2b::ei::EventStatusEnumeratedType::near, + ::oadr2b::ei::EventStatusEnumeratedType::none + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, EventStatusEnumeratedType > + _xsd_EventStatusEnumeratedType_type_factory_init ( + "EventStatusEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const EventStatusEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const EventStatusEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const EventStatusEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, EventStatusEnumeratedType > + _xsd_EventStatusEnumeratedType_type_serializer_init ( + "EventStatusEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/EventStatusEnumeratedType.hxx b/oadrsd/oadrsd/2b/EventStatusEnumeratedType.hxx new file mode 100644 index 0000000..b2d631c --- /dev/null +++ b/oadrsd/oadrsd/2b/EventStatusEnumeratedType.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EVENT_STATUS_ENUMERATED_TYPE_HXX +#define EVENT_STATUS_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class EventStatusEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EventStatusEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + none, + far, + near, + active, + completed, + cancelled + }; + + EventStatusEnumeratedType (value v); + + EventStatusEnumeratedType (const char* v); + + EventStatusEnumeratedType (const ::std::string& v); + + EventStatusEnumeratedType (const ::xml_schema::token& v); + + EventStatusEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EventStatusEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EventStatusEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + EventStatusEnumeratedType (const EventStatusEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual EventStatusEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + EventStatusEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_EventStatusEnumeratedType_convert (); + } + + protected: + value + _xsd_EventStatusEnumeratedType_convert () const; + + public: + static const char* const _xsd_EventStatusEnumeratedType_literals_[6]; + static const value _xsd_EventStatusEnumeratedType_indexes_[6]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const EventStatusEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const EventStatusEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const EventStatusEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EVENT_STATUS_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/FLOSSE b/oadrsd/oadrsd/2b/FLOSSE new file mode 100644 index 0000000..cbf8b2c --- /dev/null +++ b/oadrsd/oadrsd/2b/FLOSSE @@ -0,0 +1,89 @@ +1. Intent + +We want specified Free/Libre and Open Source Software ("FLOSS") to be +able to use the specified GPL-licensed XSD runtime library (libxsd) and +XSD generated code (collectively called the "Program") despite the fact +that not all FLOSS licenses are compatible with version 2 of the GNU +General Public License (the "GPL"). + +It is our intent to allow distribution of the entire Derivative Work +(including the Program) under one or more of the FLOSS licenses listed +in section 3 (section 2.a). It is also our intent to disallow simple +relicensing of the Program for the sole purpose of using it in +proprietary applications (section 2.b and 2.c). As an example, consider +two hypothetical scenarios: + + a) You created a program that uses the XSD generated code and the XSD + runtime library to access information in XML instance documents. + Your program performs useful computations based on this information + (sections 2.b and 2.c are satisfied). You distribute your program, + including the XSD generated code and the XSD runtime library under + the BSD license and make it available at no charge to all third + parties (section 2.a is satisfied). Later you (or someone else) may + choose to base their proprietary application on your code since the + BSD license does not prohibit it. + + This scenario falls under this FLOSS Exception. + + + b) You created a library that uses the XSD generated code and the XSD + runtime library to access information in XML instance documents. You + did not add to the library any other useful code that uses the XSD + generated code or the XSD runtime library (neither section 2.b nor + 2.c is satisfied). You distribute your library, including the XSD + generated code and the XSD runtime library under the BSD license and + make it available at no charge to all third parties (section 2.a + is satisfied). Later you base your proprietary application on this + library since the BSD license does not prohibit it. + + This scenario does not fall under this FLOSS Exception (neither + section 2.b nor 2.c is satisfied). You created the library for the + sole purpose of making the XSD generated code and the XSD runtime + library available to your proprietary application. + + +2. Legal Terms and Conditions + +As a special exception to the terms and conditions of version 2 of +the GPL you are free to distribute a verbatim copy of the Program +as part of the Derivative Work that is formed from the Program or +any part thereof and one or more works (each, a "FLOSS Work") as +long as you also meet all of these conditions: + + a) You must cause the Derivative Work that in whole or in part + contains or is derived from the Program or any part thereof, + to be licensed as a whole at no charge to all third parties + under the terms of one or more of the licenses listed in + section 3. + + b) The Derivative Work should contain one or more FLOSS Work that + can be reasonably considered as derived from the Program or some + part thereof. + + c) The Derivative Work should not contain any part of the Program + that cannot be reasonably considered as a base of one or more + FLOSS Work. + + +3. FLOSS License List + + a) Any license listed in the "GPL-Compatible Free Software Licenses" + and the "GPL-Incompatible Free Software Licenses" sections of the + License List as published by the Free Software Foundation (FSF): + + http://www.gnu.org/licenses/license-list.html + + +4. Definitions + +Terms used, but not defined, herein shall have the meaning provided in +the GPL. + +Derivative Work means a derivative work under copyright law. + + +5. Applicability + +You may choose to redistribute a copy of the Program exclusively under +the terms of the GPL by removing the FLOSS Exception notice from that +copy of the Program. diff --git a/oadrsd/oadrsd/2b/FeatureCollection.cxx b/oadrsd/oadrsd/2b/FeatureCollection.cxx new file mode 100644 index 0000000..49c9192 --- /dev/null +++ b/oadrsd/oadrsd/2b/FeatureCollection.cxx @@ -0,0 +1,309 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "FeatureCollection.hxx" + +#include "location.hxx" + +namespace oadr2b +{ + namespace gml + { + // FeatureCollection + // + + const FeatureCollection::location_type& FeatureCollection:: + location () const + { + return this->location_.get (); + } + + FeatureCollection::location_type& FeatureCollection:: + location () + { + return this->location_.get (); + } + + void FeatureCollection:: + location (const location_type& x) + { + this->location_.set (x); + } + + void FeatureCollection:: + location (::std::auto_ptr< location_type > x) + { + this->location_.set (x); + } + + const FeatureCollection::id_optional& FeatureCollection:: + id () const + { + return this->id_; + } + + FeatureCollection::id_optional& FeatureCollection:: + id () + { + return this->id_; + } + + void FeatureCollection:: + id (const id_type& x) + { + this->id_.set (x); + } + + void FeatureCollection:: + id (const id_optional& x) + { + this->id_ = x; + } + + void FeatureCollection:: + id (::std::auto_ptr< id_type > x) + { + this->id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // FeatureCollection + // + + FeatureCollection:: + FeatureCollection (const location_type& location) + : ::xml_schema::type (), + location_ (location, this), + id_ (this) + { + } + + FeatureCollection:: + FeatureCollection (::std::auto_ptr< location_type > location) + : ::xml_schema::type (), + location_ (location, this), + id_ (this) + { + } + + FeatureCollection:: + FeatureCollection (const FeatureCollection& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + location_ (x.location_, f, this), + id_ (x.id_, f, this) + { + } + + FeatureCollection:: + FeatureCollection (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + location_ (this), + id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void FeatureCollection:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // location + // + if (n.name () == "location" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< location_type > r ( + location_traits::create (i, f, this)); + + if (!location_.present ()) + { + this->location_.set (r); + continue; + } + } + + break; + } + + if (!location_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "location", + "http://www.opengis.net/gml/3.2"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "id" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + this->id_.set (id_traits::create (i, f, this)); + continue; + } + } + } + + FeatureCollection* FeatureCollection:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class FeatureCollection (*this, f, c); + } + + FeatureCollection& FeatureCollection:: + operator= (const FeatureCollection& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->location_ = x.location_; + this->id_ = x.id_; + } + + return *this; + } + + FeatureCollection:: + ~FeatureCollection () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const FeatureCollection& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // location + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "location", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.location (); + } + + // id + // + if (i.id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "id", + "http://www.opengis.net/gml/3.2", + e)); + + a << *i.id (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/FeatureCollection.hxx b/oadrsd/oadrsd/2b/FeatureCollection.hxx new file mode 100644 index 0000000..8be47ed --- /dev/null +++ b/oadrsd/oadrsd/2b/FeatureCollection.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FEATURE_COLLECTION_HXX +#define FEATURE_COLLECTION_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class FeatureCollection; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class location; + } +} + +namespace oadr2b +{ + namespace gml + { + class FeatureCollection: public ::xml_schema::type + { + public: + // location + // + typedef ::oadr2b::gml::location location_type; + typedef ::xsd::cxx::tree::traits< location_type, char > location_traits; + + const location_type& + location () const; + + location_type& + location (); + + void + location (const location_type& x); + + void + location (::std::auto_ptr< location_type > p); + + // id + // + typedef ::xml_schema::id id_type; + typedef ::xsd::cxx::tree::optional< id_type > id_optional; + typedef ::xsd::cxx::tree::traits< id_type, char > id_traits; + + const id_optional& + id () const; + + id_optional& + id (); + + void + id (const id_type& x); + + void + id (const id_optional& x); + + void + id (::std::auto_ptr< id_type > p); + + // Constructors. + // + FeatureCollection (const location_type&); + + FeatureCollection (::std::auto_ptr< location_type >); + + FeatureCollection (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FeatureCollection (const FeatureCollection& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual FeatureCollection* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + FeatureCollection& + operator= (const FeatureCollection& x); + + virtual + ~FeatureCollection (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< location_type > location_; + id_optional id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const FeatureCollection&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FEATURE_COLLECTION_HXX diff --git a/oadrsd/oadrsd/2b/FieldIDType.cxx b/oadrsd/oadrsd/2b/FieldIDType.cxx new file mode 100644 index 0000000..3f16e28 --- /dev/null +++ b/oadrsd/oadrsd/2b/FieldIDType.cxx @@ -0,0 +1,554 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "FieldIDType.hxx" + +#include "PrimeFieldParamsType.hxx" + +#include "TnBFieldParamsType.hxx" + +#include "PnBFieldParamsType.hxx" + +#include "CharTwoFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // FieldIDType + // + + const FieldIDType::Prime_optional& FieldIDType:: + Prime () const + { + return this->Prime_; + } + + FieldIDType::Prime_optional& FieldIDType:: + Prime () + { + return this->Prime_; + } + + void FieldIDType:: + Prime (const Prime_type& x) + { + this->Prime_.set (x); + } + + void FieldIDType:: + Prime (const Prime_optional& x) + { + this->Prime_ = x; + } + + void FieldIDType:: + Prime (::std::auto_ptr< Prime_type > x) + { + this->Prime_.set (x); + } + + const FieldIDType::TnB_optional& FieldIDType:: + TnB () const + { + return this->TnB_; + } + + FieldIDType::TnB_optional& FieldIDType:: + TnB () + { + return this->TnB_; + } + + void FieldIDType:: + TnB (const TnB_type& x) + { + this->TnB_.set (x); + } + + void FieldIDType:: + TnB (const TnB_optional& x) + { + this->TnB_ = x; + } + + void FieldIDType:: + TnB (::std::auto_ptr< TnB_type > x) + { + this->TnB_.set (x); + } + + const FieldIDType::PnB_optional& FieldIDType:: + PnB () const + { + return this->PnB_; + } + + FieldIDType::PnB_optional& FieldIDType:: + PnB () + { + return this->PnB_; + } + + void FieldIDType:: + PnB (const PnB_type& x) + { + this->PnB_.set (x); + } + + void FieldIDType:: + PnB (const PnB_optional& x) + { + this->PnB_ = x; + } + + void FieldIDType:: + PnB (::std::auto_ptr< PnB_type > x) + { + this->PnB_.set (x); + } + + const FieldIDType::GnB_optional& FieldIDType:: + GnB () const + { + return this->GnB_; + } + + FieldIDType::GnB_optional& FieldIDType:: + GnB () + { + return this->GnB_; + } + + void FieldIDType:: + GnB (const GnB_type& x) + { + this->GnB_.set (x); + } + + void FieldIDType:: + GnB (const GnB_optional& x) + { + this->GnB_ = x; + } + + void FieldIDType:: + GnB (::std::auto_ptr< GnB_type > x) + { + this->GnB_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // FieldIDType + // + + FieldIDType:: + FieldIDType () + : ::xml_schema::type (), + Prime_ (this), + TnB_ (this), + PnB_ (this), + GnB_ (this) + { + } + + FieldIDType:: + FieldIDType (const FieldIDType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Prime_ (x.Prime_, f, this), + TnB_ (x.TnB_, f, this), + PnB_ (x.PnB_, f, this), + GnB_ (x.GnB_, f, this) + { + } + + FieldIDType:: + FieldIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Prime_ (this), + TnB_ (this), + PnB_ (this), + GnB_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void FieldIDType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Prime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< Prime_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Prime_) + { + ::std::auto_ptr< Prime_type > r ( + dynamic_cast< Prime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Prime_.set (r); + continue; + } + } + } + + // TnB + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< TnB_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->TnB_) + { + ::std::auto_ptr< TnB_type > r ( + dynamic_cast< TnB_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->TnB_.set (r); + continue; + } + } + } + + // PnB + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< PnB_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->PnB_) + { + ::std::auto_ptr< PnB_type > r ( + dynamic_cast< PnB_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PnB_.set (r); + continue; + } + } + } + + // GnB + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< GnB_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->GnB_) + { + ::std::auto_ptr< GnB_type > r ( + dynamic_cast< GnB_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->GnB_.set (r); + continue; + } + } + } + + break; + } + } + + FieldIDType* FieldIDType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class FieldIDType (*this, f, c); + } + + FieldIDType& FieldIDType:: + operator= (const FieldIDType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Prime_ = x.Prime_; + this->TnB_ = x.TnB_; + this->PnB_ = x.PnB_; + this->GnB_ = x.GnB_; + } + + return *this; + } + + FieldIDType:: + ~FieldIDType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, FieldIDType > + _xsd_FieldIDType_type_factory_init ( + "FieldIDType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const FieldIDType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Prime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Prime ()) + { + const FieldIDType::Prime_type& x (*i.Prime ()); + if (typeid (FieldIDType::Prime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + true, true, e, x); + } + } + + // TnB + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.TnB ()) + { + const FieldIDType::TnB_type& x (*i.TnB ()); + if (typeid (FieldIDType::TnB_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + true, true, e, x); + } + } + + // PnB + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.PnB ()) + { + const FieldIDType::PnB_type& x (*i.PnB ()); + if (typeid (FieldIDType::PnB_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + true, true, e, x); + } + } + + // GnB + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.GnB ()) + { + const FieldIDType::GnB_type& x (*i.GnB ()); + if (typeid (FieldIDType::GnB_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, FieldIDType > + _xsd_FieldIDType_type_serializer_init ( + "FieldIDType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/FieldIDType.hxx b/oadrsd/oadrsd/2b/FieldIDType.hxx new file mode 100644 index 0000000..422d97c --- /dev/null +++ b/oadrsd/oadrsd/2b/FieldIDType.hxx @@ -0,0 +1,472 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FIELD_IDTYPE_HXX +#define FIELD_IDTYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class FieldIDType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class PrimeFieldParamsType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class TnBFieldParamsType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class PnBFieldParamsType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class CharTwoFieldParamsType; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class FieldIDType: public ::xml_schema::type + { + public: + // Prime + // + typedef ::oadr2b::dsig11::PrimeFieldParamsType Prime_type; + typedef ::xsd::cxx::tree::optional< Prime_type > Prime_optional; + typedef ::xsd::cxx::tree::traits< Prime_type, char > Prime_traits; + + const Prime_optional& + Prime () const; + + Prime_optional& + Prime (); + + void + Prime (const Prime_type& x); + + void + Prime (const Prime_optional& x); + + void + Prime (::std::auto_ptr< Prime_type > p); + + // TnB + // + typedef ::oadr2b::dsig11::TnBFieldParamsType TnB_type; + typedef ::xsd::cxx::tree::optional< TnB_type > TnB_optional; + typedef ::xsd::cxx::tree::traits< TnB_type, char > TnB_traits; + + const TnB_optional& + TnB () const; + + TnB_optional& + TnB (); + + void + TnB (const TnB_type& x); + + void + TnB (const TnB_optional& x); + + void + TnB (::std::auto_ptr< TnB_type > p); + + // PnB + // + typedef ::oadr2b::dsig11::PnBFieldParamsType PnB_type; + typedef ::xsd::cxx::tree::optional< PnB_type > PnB_optional; + typedef ::xsd::cxx::tree::traits< PnB_type, char > PnB_traits; + + const PnB_optional& + PnB () const; + + PnB_optional& + PnB (); + + void + PnB (const PnB_type& x); + + void + PnB (const PnB_optional& x); + + void + PnB (::std::auto_ptr< PnB_type > p); + + // GnB + // + typedef ::oadr2b::dsig11::CharTwoFieldParamsType GnB_type; + typedef ::xsd::cxx::tree::optional< GnB_type > GnB_optional; + typedef ::xsd::cxx::tree::traits< GnB_type, char > GnB_traits; + + const GnB_optional& + GnB () const; + + GnB_optional& + GnB (); + + void + GnB (const GnB_type& x); + + void + GnB (const GnB_optional& x); + + void + GnB (::std::auto_ptr< GnB_type > p); + + // Constructors. + // + FieldIDType (); + + FieldIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FieldIDType (const FieldIDType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual FieldIDType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + FieldIDType& + operator= (const FieldIDType& x); + + virtual + ~FieldIDType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Prime_optional Prime_; + TnB_optional TnB_; + PnB_optional PnB_; + GnB_optional GnB_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const FieldIDType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FIELD_IDTYPE_HXX diff --git a/oadrsd/oadrsd/2b/FlowDirectionKind.cxx b/oadrsd/oadrsd/2b/FlowDirectionKind.cxx new file mode 100644 index 0000000..868bf5d --- /dev/null +++ b/oadrsd/oadrsd/2b/FlowDirectionKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "FlowDirectionKind.hxx" + +namespace espi +{ + // FlowDirectionKind + // + + FlowDirectionKind:: + FlowDirectionKind (const char* s) + : ::xml_schema::string (s) + { + } + + FlowDirectionKind:: + FlowDirectionKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + FlowDirectionKind:: + FlowDirectionKind (const FlowDirectionKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // FlowDirectionKind + // + + FlowDirectionKind:: + FlowDirectionKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + FlowDirectionKind:: + FlowDirectionKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + FlowDirectionKind:: + FlowDirectionKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + FlowDirectionKind* FlowDirectionKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class FlowDirectionKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, FlowDirectionKind > + _xsd_FlowDirectionKind_type_factory_init ( + "FlowDirectionKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const FlowDirectionKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const FlowDirectionKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const FlowDirectionKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, FlowDirectionKind > + _xsd_FlowDirectionKind_type_serializer_init ( + "FlowDirectionKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/FlowDirectionKind.hxx b/oadrsd/oadrsd/2b/FlowDirectionKind.hxx new file mode 100644 index 0000000..c8718bc --- /dev/null +++ b/oadrsd/oadrsd/2b/FlowDirectionKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FLOW_DIRECTION_KIND_HXX +#define FLOW_DIRECTION_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class FlowDirectionKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class FlowDirectionKind: public ::xml_schema::string + { + public: + + FlowDirectionKind (const char* v); + + FlowDirectionKind (const ::std::string& v); + + FlowDirectionKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind (const FlowDirectionKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual FlowDirectionKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const FlowDirectionKind&); + + void + operator<< (::xercesc::DOMAttr&, const FlowDirectionKind&); + + void + operator<< (::xml_schema::list_stream&, + const FlowDirectionKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FLOW_DIRECTION_KIND_HXX diff --git a/oadrsd/oadrsd/2b/FlowDirectionKind_member.cxx b/oadrsd/oadrsd/2b/FlowDirectionKind_member.cxx new file mode 100644 index 0000000..5650446 --- /dev/null +++ b/oadrsd/oadrsd/2b/FlowDirectionKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "FlowDirectionKind_member.hxx" + +namespace espi +{ + // FlowDirectionKind_member + // + + FlowDirectionKind_member:: + FlowDirectionKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + FlowDirectionKind_member:: + FlowDirectionKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + FlowDirectionKind_member:: + FlowDirectionKind_member (const FlowDirectionKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // FlowDirectionKind_member + // + + FlowDirectionKind_member:: + FlowDirectionKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + FlowDirectionKind_member:: + FlowDirectionKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + FlowDirectionKind_member:: + FlowDirectionKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + FlowDirectionKind_member* FlowDirectionKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class FlowDirectionKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const FlowDirectionKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const FlowDirectionKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const FlowDirectionKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/FlowDirectionKind_member.hxx b/oadrsd/oadrsd/2b/FlowDirectionKind_member.hxx new file mode 100644 index 0000000..abc0a4f --- /dev/null +++ b/oadrsd/oadrsd/2b/FlowDirectionKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FLOW_DIRECTION_KIND_MEMBER_HXX +#define FLOW_DIRECTION_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class FlowDirectionKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class FlowDirectionKind_member: public ::espi::UInt16 + { + public: + FlowDirectionKind_member (::xml_schema::unsigned_short v); + + FlowDirectionKind_member (const ::espi::UInt16& v); + + FlowDirectionKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FlowDirectionKind_member (const FlowDirectionKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual FlowDirectionKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const FlowDirectionKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const FlowDirectionKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const FlowDirectionKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FLOW_DIRECTION_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/FrequencyType.cxx b/oadrsd/oadrsd/2b/FrequencyType.cxx new file mode 100644 index 0000000..2a01025 --- /dev/null +++ b/oadrsd/oadrsd/2b/FrequencyType.cxx @@ -0,0 +1,484 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "FrequencyType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // FrequencyType + // + + const FrequencyType::itemDescription_type& FrequencyType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + FrequencyType::itemDescription_type& FrequencyType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void FrequencyType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void FrequencyType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const FrequencyType::itemDescription_type& FrequencyType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const FrequencyType::itemUnits_type& FrequencyType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + FrequencyType::itemUnits_type& FrequencyType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void FrequencyType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void FrequencyType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const FrequencyType::itemUnits_type& FrequencyType:: + itemUnits_default_value () + { + return itemUnits_default_value_; + } + + const FrequencyType::siScaleCode_type& FrequencyType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + FrequencyType::siScaleCode_type& FrequencyType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void FrequencyType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void FrequencyType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // FrequencyType + // + + const FrequencyType::itemDescription_type FrequencyType::itemDescription_default_value_ ( + "Frequency"); + + const FrequencyType::itemUnits_type FrequencyType::itemUnits_default_value_ ( + "Hz"); + + FrequencyType:: + FrequencyType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + FrequencyType:: + FrequencyType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + FrequencyType:: + FrequencyType (const FrequencyType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + FrequencyType:: + FrequencyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void FrequencyType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + FrequencyType* FrequencyType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class FrequencyType (*this, f, c); + } + + FrequencyType& FrequencyType:: + operator= (const FrequencyType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + FrequencyType:: + ~FrequencyType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, FrequencyType > + _xsd_FrequencyType_type_factory_init ( + "FrequencyType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const FrequencyType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const FrequencyType::itemDescription_type& x (i.itemDescription ()); + if (typeid (FrequencyType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const FrequencyType::itemUnits_type& x (i.itemUnits ()); + if (typeid (FrequencyType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const FrequencyType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (FrequencyType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, FrequencyType > + _xsd_FrequencyType_type_serializer_init ( + "FrequencyType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/FrequencyType.hxx b/oadrsd/oadrsd/2b/FrequencyType.hxx new file mode 100644 index 0000000..3760d81 --- /dev/null +++ b/oadrsd/oadrsd/2b/FrequencyType.hxx @@ -0,0 +1,427 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FREQUENCY_TYPE_HXX +#define FREQUENCY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class FrequencyType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class FrequencyType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + static const itemUnits_type& + itemUnits_default_value (); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + FrequencyType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + FrequencyType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + FrequencyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + FrequencyType (const FrequencyType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual FrequencyType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + FrequencyType& + operator= (const FrequencyType& x); + + virtual + ~FrequencyType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + static const itemUnits_type itemUnits_default_value_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const FrequencyType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FREQUENCY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/HMACOutputLengthType.cxx b/oadrsd/oadrsd/2b/HMACOutputLengthType.cxx new file mode 100644 index 0000000..158a230 --- /dev/null +++ b/oadrsd/oadrsd/2b/HMACOutputLengthType.cxx @@ -0,0 +1,190 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "HMACOutputLengthType.hxx" + +namespace oadr2b +{ + namespace sig + { + // HMACOutputLengthType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // HMACOutputLengthType + // + + HMACOutputLengthType:: + HMACOutputLengthType (const ::xml_schema::integer& _xsd_integer_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > (_xsd_integer_base) + { + } + + HMACOutputLengthType:: + HMACOutputLengthType (const HMACOutputLengthType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > (x, f, c) + { + } + + HMACOutputLengthType:: + HMACOutputLengthType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > (e, f, c) + { + } + + HMACOutputLengthType:: + HMACOutputLengthType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > (a, f, c) + { + } + + HMACOutputLengthType:: + HMACOutputLengthType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + HMACOutputLengthType* HMACOutputLengthType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class HMACOutputLengthType (*this, f, c); + } + + HMACOutputLengthType:: + ~HMACOutputLengthType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, HMACOutputLengthType > + _xsd_HMACOutputLengthType_type_factory_init ( + "HMACOutputLengthType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const HMACOutputLengthType& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const HMACOutputLengthType& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const HMACOutputLengthType& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, HMACOutputLengthType > + _xsd_HMACOutputLengthType_type_serializer_init ( + "HMACOutputLengthType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/HMACOutputLengthType.hxx b/oadrsd/oadrsd/2b/HMACOutputLengthType.hxx new file mode 100644 index 0000000..df8ed95 --- /dev/null +++ b/oadrsd/oadrsd/2b/HMACOutputLengthType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef HMACOUTPUT_LENGTH_TYPE_HXX +#define HMACOUTPUT_LENGTH_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class HMACOutputLengthType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class HMACOutputLengthType: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::integer, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + HMACOutputLengthType (const ::xml_schema::integer&); + + HMACOutputLengthType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HMACOutputLengthType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HMACOutputLengthType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HMACOutputLengthType (const HMACOutputLengthType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual HMACOutputLengthType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~HMACOutputLengthType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const HMACOutputLengthType&); + + void + operator<< (::xercesc::DOMAttr&, const HMACOutputLengthType&); + + void + operator<< (::xml_schema::list_stream&, + const HMACOutputLengthType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // HMACOUTPUT_LENGTH_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/HexBinary128.cxx b/oadrsd/oadrsd/2b/HexBinary128.cxx new file mode 100644 index 0000000..3a24604 --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary128.cxx @@ -0,0 +1,184 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "HexBinary128.hxx" + +namespace espi +{ + // HexBinary128 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // HexBinary128 + // + + HexBinary128:: + HexBinary128 () + : ::xml_schema::hex_binary () + { + } + + HexBinary128:: + HexBinary128 (const ::xml_schema::hex_binary& _xsd_hex_binary_base) + : ::xml_schema::hex_binary (_xsd_hex_binary_base) + { + } + + HexBinary128:: + HexBinary128 (const HexBinary128& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (x, f, c) + { + } + + HexBinary128:: + HexBinary128 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (e, f, c) + { + } + + HexBinary128:: + HexBinary128 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (a, f, c) + { + } + + HexBinary128:: + HexBinary128 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (s, e, f, c) + { + } + + HexBinary128* HexBinary128:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class HexBinary128 (*this, f, c); + } + + HexBinary128:: + ~HexBinary128 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, HexBinary128 > + _xsd_HexBinary128_type_factory_init ( + "HexBinary128", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const HexBinary128& i) + { + e << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const HexBinary128& i) + { + a << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const HexBinary128& i) + { + l << static_cast< const ::xml_schema::hex_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, HexBinary128 > + _xsd_HexBinary128_type_serializer_init ( + "HexBinary128", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/HexBinary128.hxx b/oadrsd/oadrsd/2b/HexBinary128.hxx new file mode 100644 index 0000000..8e6a5cc --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary128.hxx @@ -0,0 +1,346 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef HEX_BINARY128_HXX +#define HEX_BINARY128_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class HexBinary128; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class HexBinary128: public ::xml_schema::hex_binary + { + public: + // Constructors. + // + HexBinary128 (); + + HexBinary128 (const ::xml_schema::hex_binary&); + + HexBinary128 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary128 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary128 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary128 (const HexBinary128& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual HexBinary128* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~HexBinary128 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const HexBinary128&); + + void + operator<< (::xercesc::DOMAttr&, const HexBinary128&); + + void + operator<< (::xml_schema::list_stream&, + const HexBinary128&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // HEX_BINARY128_HXX diff --git a/oadrsd/oadrsd/2b/HexBinary16.cxx b/oadrsd/oadrsd/2b/HexBinary16.cxx new file mode 100644 index 0000000..ca9b1f4 --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary16.cxx @@ -0,0 +1,184 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "HexBinary16.hxx" + +namespace espi +{ + // HexBinary16 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // HexBinary16 + // + + HexBinary16:: + HexBinary16 () + : ::xml_schema::hex_binary () + { + } + + HexBinary16:: + HexBinary16 (const ::xml_schema::hex_binary& _xsd_hex_binary_base) + : ::xml_schema::hex_binary (_xsd_hex_binary_base) + { + } + + HexBinary16:: + HexBinary16 (const HexBinary16& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (x, f, c) + { + } + + HexBinary16:: + HexBinary16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (e, f, c) + { + } + + HexBinary16:: + HexBinary16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (a, f, c) + { + } + + HexBinary16:: + HexBinary16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (s, e, f, c) + { + } + + HexBinary16* HexBinary16:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class HexBinary16 (*this, f, c); + } + + HexBinary16:: + ~HexBinary16 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, HexBinary16 > + _xsd_HexBinary16_type_factory_init ( + "HexBinary16", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const HexBinary16& i) + { + e << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const HexBinary16& i) + { + a << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const HexBinary16& i) + { + l << static_cast< const ::xml_schema::hex_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, HexBinary16 > + _xsd_HexBinary16_type_serializer_init ( + "HexBinary16", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/HexBinary16.hxx b/oadrsd/oadrsd/2b/HexBinary16.hxx new file mode 100644 index 0000000..0d491b8 --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary16.hxx @@ -0,0 +1,346 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef HEX_BINARY16_HXX +#define HEX_BINARY16_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class HexBinary16; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class HexBinary16: public ::xml_schema::hex_binary + { + public: + // Constructors. + // + HexBinary16 (); + + HexBinary16 (const ::xml_schema::hex_binary&); + + HexBinary16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary16 (const HexBinary16& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual HexBinary16* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~HexBinary16 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const HexBinary16&); + + void + operator<< (::xercesc::DOMAttr&, const HexBinary16&); + + void + operator<< (::xml_schema::list_stream&, + const HexBinary16&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // HEX_BINARY16_HXX diff --git a/oadrsd/oadrsd/2b/HexBinary32.cxx b/oadrsd/oadrsd/2b/HexBinary32.cxx new file mode 100644 index 0000000..606cb3f --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary32.cxx @@ -0,0 +1,184 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "HexBinary32.hxx" + +namespace espi +{ + // HexBinary32 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // HexBinary32 + // + + HexBinary32:: + HexBinary32 () + : ::xml_schema::hex_binary () + { + } + + HexBinary32:: + HexBinary32 (const ::xml_schema::hex_binary& _xsd_hex_binary_base) + : ::xml_schema::hex_binary (_xsd_hex_binary_base) + { + } + + HexBinary32:: + HexBinary32 (const HexBinary32& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (x, f, c) + { + } + + HexBinary32:: + HexBinary32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (e, f, c) + { + } + + HexBinary32:: + HexBinary32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (a, f, c) + { + } + + HexBinary32:: + HexBinary32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (s, e, f, c) + { + } + + HexBinary32* HexBinary32:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class HexBinary32 (*this, f, c); + } + + HexBinary32:: + ~HexBinary32 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, HexBinary32 > + _xsd_HexBinary32_type_factory_init ( + "HexBinary32", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const HexBinary32& i) + { + e << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const HexBinary32& i) + { + a << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const HexBinary32& i) + { + l << static_cast< const ::xml_schema::hex_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, HexBinary32 > + _xsd_HexBinary32_type_serializer_init ( + "HexBinary32", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/HexBinary32.hxx b/oadrsd/oadrsd/2b/HexBinary32.hxx new file mode 100644 index 0000000..ae061fb --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary32.hxx @@ -0,0 +1,346 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef HEX_BINARY32_HXX +#define HEX_BINARY32_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class HexBinary32; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class HexBinary32: public ::xml_schema::hex_binary + { + public: + // Constructors. + // + HexBinary32 (); + + HexBinary32 (const ::xml_schema::hex_binary&); + + HexBinary32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary32 (const HexBinary32& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual HexBinary32* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~HexBinary32 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const HexBinary32&); + + void + operator<< (::xercesc::DOMAttr&, const HexBinary32&); + + void + operator<< (::xml_schema::list_stream&, + const HexBinary32&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // HEX_BINARY32_HXX diff --git a/oadrsd/oadrsd/2b/HexBinary8.cxx b/oadrsd/oadrsd/2b/HexBinary8.cxx new file mode 100644 index 0000000..bcbf297 --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary8.cxx @@ -0,0 +1,184 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "HexBinary8.hxx" + +namespace espi +{ + // HexBinary8 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // HexBinary8 + // + + HexBinary8:: + HexBinary8 () + : ::xml_schema::hex_binary () + { + } + + HexBinary8:: + HexBinary8 (const ::xml_schema::hex_binary& _xsd_hex_binary_base) + : ::xml_schema::hex_binary (_xsd_hex_binary_base) + { + } + + HexBinary8:: + HexBinary8 (const HexBinary8& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (x, f, c) + { + } + + HexBinary8:: + HexBinary8 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (e, f, c) + { + } + + HexBinary8:: + HexBinary8 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (a, f, c) + { + } + + HexBinary8:: + HexBinary8 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::hex_binary (s, e, f, c) + { + } + + HexBinary8* HexBinary8:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class HexBinary8 (*this, f, c); + } + + HexBinary8:: + ~HexBinary8 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, HexBinary8 > + _xsd_HexBinary8_type_factory_init ( + "HexBinary8", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const HexBinary8& i) + { + e << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const HexBinary8& i) + { + a << static_cast< const ::xml_schema::hex_binary& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const HexBinary8& i) + { + l << static_cast< const ::xml_schema::hex_binary& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, HexBinary8 > + _xsd_HexBinary8_type_serializer_init ( + "HexBinary8", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/HexBinary8.hxx b/oadrsd/oadrsd/2b/HexBinary8.hxx new file mode 100644 index 0000000..dcae155 --- /dev/null +++ b/oadrsd/oadrsd/2b/HexBinary8.hxx @@ -0,0 +1,346 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef HEX_BINARY8_HXX +#define HEX_BINARY8_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class HexBinary8; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class HexBinary8: public ::xml_schema::hex_binary + { + public: + // Constructors. + // + HexBinary8 (); + + HexBinary8 (const ::xml_schema::hex_binary&); + + HexBinary8 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary8 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary8 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + HexBinary8 (const HexBinary8& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual HexBinary8* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~HexBinary8 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const HexBinary8&); + + void + operator<< (::xercesc::DOMAttr&, const HexBinary8&); + + void + operator<< (::xml_schema::list_stream&, + const HexBinary8&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // HEX_BINARY8_HXX diff --git a/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.cxx b/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.cxx new file mode 100644 index 0000000..b1612c0 --- /dev/null +++ b/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.cxx @@ -0,0 +1,599 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ISO3AlphaCurrencyCodeContentType.hxx" + +namespace ISO42173A_2010_04_07 +{ + // ISO3AlphaCurrencyCodeContentType + // + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (value v) + : ::xml_schema::token (_xsd_ISO3AlphaCurrencyCodeContentType_literals_[v]) + { + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const char* v) + : ::xml_schema::token (v) + { + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ISO3AlphaCurrencyCodeContentType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + ISO3AlphaCurrencyCodeContentType& ISO3AlphaCurrencyCodeContentType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_ISO3AlphaCurrencyCodeContentType_literals_[v]); + + return *this; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace ISO42173A_2010_04_07 +{ + // ISO3AlphaCurrencyCodeContentType + // + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_ISO3AlphaCurrencyCodeContentType_convert (); + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_ISO3AlphaCurrencyCodeContentType_convert (); + } + + ISO3AlphaCurrencyCodeContentType:: + ISO3AlphaCurrencyCodeContentType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_ISO3AlphaCurrencyCodeContentType_convert (); + } + + ISO3AlphaCurrencyCodeContentType* ISO3AlphaCurrencyCodeContentType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ISO3AlphaCurrencyCodeContentType (*this, f, c); + } + + ISO3AlphaCurrencyCodeContentType::value ISO3AlphaCurrencyCodeContentType:: + _xsd_ISO3AlphaCurrencyCodeContentType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ISO3AlphaCurrencyCodeContentType_literals_); + const value* i (::std::lower_bound ( + _xsd_ISO3AlphaCurrencyCodeContentType_indexes_, + _xsd_ISO3AlphaCurrencyCodeContentType_indexes_ + 184, + *this, + c)); + + if (i == _xsd_ISO3AlphaCurrencyCodeContentType_indexes_ + 184 || _xsd_ISO3AlphaCurrencyCodeContentType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const ISO3AlphaCurrencyCodeContentType:: + _xsd_ISO3AlphaCurrencyCodeContentType_literals_[184] = + { + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOV", + "BRL", + "BSD", + "BTN", + "BWP", + "BYR", + "BZD", + "CAD", + "CDF", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EEK", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GWP", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "INR", + "IQD", + "IRR", + "ISK", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LTL", + "LVL", + "LYD", + "MAD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MXV", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XFU", + "XOF", + "XPD", + "XPF", + "XPF", + "XPF", + "XPT", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMK", + "ZWL" + }; + + const ISO3AlphaCurrencyCodeContentType::value ISO3AlphaCurrencyCodeContentType:: + _xsd_ISO3AlphaCurrencyCodeContentType_indexes_[184] = + { + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AED, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AFN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ALL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AMD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ANG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AOA, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ARS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AUD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AWG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::AZN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BAM, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BBD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BDT, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BGN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BHD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BIF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BMD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BND, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BOB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BOV, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BRL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BSD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BTN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BWP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BYR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::BZD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CAD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CDF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CHE, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CHF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CHW, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CLF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CLP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CNY, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::COP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::COU, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CRC, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CUC, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CUP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CVE, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::CZK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::DJF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::DKK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::DOP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::DZD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::EEK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::EGP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ERN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ETB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::EUR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::FJD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::FKP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GBP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GEL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GHS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GIP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GMD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GNF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GTQ, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GWP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::GYD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::HKD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::HNL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::HRK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::HTG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::HUF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::IDR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ILS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::INR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::IQD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::IRR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ISK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::JMD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::JOD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::JPY, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KES, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KGS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KHR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KMF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KPW, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KRW, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KWD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KYD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::KZT, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LAK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LBP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LKR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LRD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LSL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LTL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LVL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::LYD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MAD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MAD1, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MDL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MGA, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MKD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MMK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MNT, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MOP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MRO, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MUR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MVR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MWK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MXN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MXV, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MYR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::MZN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NAD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NGN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NIO, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NOK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NPR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::NZD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::OMR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PAB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PEN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PGK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PHP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PKR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PLN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::PYG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::QAR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::RON, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::RSD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::RUB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::RWF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SAR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SBD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SCR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SDG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SEK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SGD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SHP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SLL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SOS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SRD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::STD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SVC, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SYP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::SZL, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::THB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TJS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TMT, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TND, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TOP, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TRY, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TTD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TWD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::TZS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::UAH, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::UGX, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::USD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::USN, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::USS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::UYI, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::UYU, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::UZS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::VEF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::VND, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::VUV, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::WST, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XAF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XAG, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XAU, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XBA, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XBB, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XBC, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XBD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XCD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XDR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XFU, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XOF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XPD, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XPF, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XPF1, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XPF2, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XPT, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XTS, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::XXX, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::YER, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ZAR, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ZMK, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::ZWL + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ISO3AlphaCurrencyCodeContentType > + _xsd_ISO3AlphaCurrencyCodeContentType_type_factory_init ( + "ISO3AlphaCurrencyCodeContentType", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07"); +} + +#include +#include +#include + +namespace ISO42173A_2010_04_07 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace ISO42173A_2010_04_07 +{ + void + operator<< (::xercesc::DOMElement& e, const ISO3AlphaCurrencyCodeContentType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ISO3AlphaCurrencyCodeContentType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ISO3AlphaCurrencyCodeContentType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ISO3AlphaCurrencyCodeContentType > + _xsd_ISO3AlphaCurrencyCodeContentType_type_serializer_init ( + "ISO3AlphaCurrencyCodeContentType", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.hxx b/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.hxx new file mode 100644 index 0000000..b639942 --- /dev/null +++ b/oadrsd/oadrsd/2b/ISO3AlphaCurrencyCodeContentType.hxx @@ -0,0 +1,550 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ISO3ALPHA_CURRENCY_CODE_CONTENT_TYPE_HXX +#define ISO3ALPHA_CURRENCY_CODE_CONTENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace ISO42173A_2010_04_07 +{ + class ISO3AlphaCurrencyCodeContentType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace ISO42173A_2010_04_07 +{ + class ISO3AlphaCurrencyCodeContentType: public ::xml_schema::token + { + public: + enum value + { + AED, + AFN, + ALL, + AMD, + ANG, + AOA, + ARS, + AUD, + AWG, + AZN, + BAM, + BBD, + BDT, + BGN, + BHD, + BIF, + BMD, + BND, + BOB, + BOV, + BRL, + BSD, + BTN, + BWP, + BYR, + BZD, + CAD, + CDF, + CHE, + CHF, + CHW, + CLF, + CLP, + CNY, + COP, + COU, + CRC, + CUC, + CUP, + CVE, + CZK, + DJF, + DKK, + DOP, + DZD, + EEK, + EGP, + ERN, + ETB, + EUR, + FJD, + FKP, + GBP, + GEL, + GHS, + GIP, + GMD, + GNF, + GTQ, + GWP, + GYD, + HKD, + HNL, + HRK, + HTG, + HUF, + IDR, + ILS, + INR, + IQD, + IRR, + ISK, + JMD, + JOD, + JPY, + KES, + KGS, + KHR, + KMF, + KPW, + KRW, + KWD, + KYD, + KZT, + LAK, + LBP, + LKR, + LRD, + LSL, + LTL, + LVL, + LYD, + MAD, + MAD1, + MDL, + MGA, + MKD, + MMK, + MNT, + MOP, + MRO, + MUR, + MVR, + MWK, + MXN, + MXV, + MYR, + MZN, + NAD, + NGN, + NIO, + NOK, + NPR, + NZD, + OMR, + PAB, + PEN, + PGK, + PHP, + PKR, + PLN, + PYG, + QAR, + RON, + RSD, + RUB, + RWF, + SAR, + SBD, + SCR, + SDG, + SEK, + SGD, + SHP, + SLL, + SOS, + SRD, + STD, + SVC, + SYP, + SZL, + THB, + TJS, + TMT, + TND, + TOP, + TRY, + TTD, + TWD, + TZS, + UAH, + UGX, + USD, + USN, + USS, + UYI, + UYU, + UZS, + VEF, + VND, + VUV, + WST, + XAF, + XAG, + XAU, + XBA, + XBB, + XBC, + XBD, + XCD, + XDR, + XFU, + XOF, + XPD, + XPF, + XPF1, + XPF2, + XPT, + XTS, + XXX, + YER, + ZAR, + ZMK, + ZWL + }; + + ISO3AlphaCurrencyCodeContentType (value v); + + ISO3AlphaCurrencyCodeContentType (const char* v); + + ISO3AlphaCurrencyCodeContentType (const ::std::string& v); + + ISO3AlphaCurrencyCodeContentType (const ::xml_schema::token& v); + + ISO3AlphaCurrencyCodeContentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ISO3AlphaCurrencyCodeContentType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ISO3AlphaCurrencyCodeContentType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ISO3AlphaCurrencyCodeContentType (const ISO3AlphaCurrencyCodeContentType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ISO3AlphaCurrencyCodeContentType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ISO3AlphaCurrencyCodeContentType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_ISO3AlphaCurrencyCodeContentType_convert (); + } + + protected: + value + _xsd_ISO3AlphaCurrencyCodeContentType_convert () const; + + public: + static const char* const _xsd_ISO3AlphaCurrencyCodeContentType_literals_[184]; + static const value _xsd_ISO3AlphaCurrencyCodeContentType_indexes_[184]; + }; +} + +#include + +#include +#include +#include + +namespace ISO42173A_2010_04_07 +{ +} + +#include + +#include +#include +#include + +#include + +namespace ISO42173A_2010_04_07 +{ + void + operator<< (::xercesc::DOMElement&, const ISO3AlphaCurrencyCodeContentType&); + + void + operator<< (::xercesc::DOMAttr&, const ISO3AlphaCurrencyCodeContentType&); + + void + operator<< (::xml_schema::list_stream&, + const ISO3AlphaCurrencyCodeContentType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ISO3ALPHA_CURRENCY_CODE_CONTENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/IdentifiedObject.cxx b/oadrsd/oadrsd/2b/IdentifiedObject.cxx new file mode 100644 index 0000000..3ba07cb --- /dev/null +++ b/oadrsd/oadrsd/2b/IdentifiedObject.cxx @@ -0,0 +1,271 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "IdentifiedObject.hxx" + +#include "BatchItemInfo.hxx" + +namespace espi +{ + // IdentifiedObject + // + + const IdentifiedObject::batchItemInfo_optional& IdentifiedObject:: + batchItemInfo () const + { + return this->batchItemInfo_; + } + + IdentifiedObject::batchItemInfo_optional& IdentifiedObject:: + batchItemInfo () + { + return this->batchItemInfo_; + } + + void IdentifiedObject:: + batchItemInfo (const batchItemInfo_type& x) + { + this->batchItemInfo_.set (x); + } + + void IdentifiedObject:: + batchItemInfo (const batchItemInfo_optional& x) + { + this->batchItemInfo_ = x; + } + + void IdentifiedObject:: + batchItemInfo (::std::auto_ptr< batchItemInfo_type > x) + { + this->batchItemInfo_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // IdentifiedObject + // + + IdentifiedObject:: + IdentifiedObject () + : ::espi::Object (), + batchItemInfo_ (this) + { + } + + IdentifiedObject:: + IdentifiedObject (const IdentifiedObject& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + batchItemInfo_ (x.batchItemInfo_, f, this) + { + } + + IdentifiedObject:: + IdentifiedObject (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + batchItemInfo_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void IdentifiedObject:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // batchItemInfo + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "batchItemInfo", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< batchItemInfo_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->batchItemInfo_) + { + ::std::auto_ptr< batchItemInfo_type > r ( + dynamic_cast< batchItemInfo_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->batchItemInfo_.set (r); + continue; + } + } + } + + break; + } + } + + IdentifiedObject* IdentifiedObject:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class IdentifiedObject (*this, f, c); + } + + IdentifiedObject& IdentifiedObject:: + operator= (const IdentifiedObject& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->batchItemInfo_ = x.batchItemInfo_; + } + + return *this; + } + + IdentifiedObject:: + ~IdentifiedObject () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, IdentifiedObject > + _xsd_IdentifiedObject_type_factory_init ( + "IdentifiedObject", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const IdentifiedObject& i) + { + e << static_cast< const ::espi::Object& > (i); + + // batchItemInfo + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.batchItemInfo ()) + { + const IdentifiedObject::batchItemInfo_type& x (*i.batchItemInfo ()); + if (typeid (IdentifiedObject::batchItemInfo_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "batchItemInfo", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "batchItemInfo", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, IdentifiedObject > + _xsd_IdentifiedObject_type_serializer_init ( + "IdentifiedObject", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/IdentifiedObject.hxx b/oadrsd/oadrsd/2b/IdentifiedObject.hxx new file mode 100644 index 0000000..2537db2 --- /dev/null +++ b/oadrsd/oadrsd/2b/IdentifiedObject.hxx @@ -0,0 +1,369 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef IDENTIFIED_OBJECT_HXX +#define IDENTIFIED_OBJECT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class IdentifiedObject; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class BatchItemInfo; +} + +namespace espi +{ + class IdentifiedObject: public ::espi::Object + { + public: + // batchItemInfo + // + typedef ::espi::BatchItemInfo batchItemInfo_type; + typedef ::xsd::cxx::tree::optional< batchItemInfo_type > batchItemInfo_optional; + typedef ::xsd::cxx::tree::traits< batchItemInfo_type, char > batchItemInfo_traits; + + const batchItemInfo_optional& + batchItemInfo () const; + + batchItemInfo_optional& + batchItemInfo (); + + void + batchItemInfo (const batchItemInfo_type& x); + + void + batchItemInfo (const batchItemInfo_optional& x); + + void + batchItemInfo (::std::auto_ptr< batchItemInfo_type > p); + + // Constructors. + // + IdentifiedObject (); + + IdentifiedObject (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + IdentifiedObject (const IdentifiedObject& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual IdentifiedObject* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + IdentifiedObject& + operator= (const IdentifiedObject& x); + + virtual + ~IdentifiedObject (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + batchItemInfo_optional batchItemInfo_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const IdentifiedObject&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // IDENTIFIED_OBJECT_HXX diff --git a/oadrsd/oadrsd/2b/Int16.cxx b/oadrsd/oadrsd/2b/Int16.cxx new file mode 100644 index 0000000..c38b158 --- /dev/null +++ b/oadrsd/oadrsd/2b/Int16.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Int16.hxx" + +namespace espi +{ + // Int16 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // Int16 + // + + Int16:: + Int16 (const ::xml_schema::short_& _xsd_short__base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > (_xsd_short__base) + { + } + + Int16:: + Int16 (const Int16& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > (x, f, c) + { + } + + Int16:: + Int16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > (e, f, c) + { + } + + Int16:: + Int16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > (a, f, c) + { + } + + Int16:: + Int16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + Int16* Int16:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Int16 (*this, f, c); + } + + Int16:: + ~Int16 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, Int16 > + _xsd_Int16_type_factory_init ( + "Int16", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const Int16& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Int16& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const Int16& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, Int16 > + _xsd_Int16_type_serializer_init ( + "Int16", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Int16.hxx b/oadrsd/oadrsd/2b/Int16.hxx new file mode 100644 index 0000000..eee0986 --- /dev/null +++ b/oadrsd/oadrsd/2b/Int16.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INT16_HXX +#define INT16_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class Int16; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class Int16: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::short_, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + Int16 (const ::xml_schema::short_&); + + Int16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int16 (const Int16& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Int16* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~Int16 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const Int16&); + + void + operator<< (::xercesc::DOMAttr&, const Int16&); + + void + operator<< (::xml_schema::list_stream&, + const Int16&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INT16_HXX diff --git a/oadrsd/oadrsd/2b/Int48.cxx b/oadrsd/oadrsd/2b/Int48.cxx new file mode 100644 index 0000000..7afd6fa --- /dev/null +++ b/oadrsd/oadrsd/2b/Int48.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Int48.hxx" + +namespace espi +{ + // Int48 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // Int48 + // + + Int48:: + Int48 (const ::xml_schema::long_& _xsd_long__base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (_xsd_long__base) + { + } + + Int48:: + Int48 (const Int48& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (x, f, c) + { + } + + Int48:: + Int48 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (e, f, c) + { + } + + Int48:: + Int48 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (a, f, c) + { + } + + Int48:: + Int48 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + Int48* Int48:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Int48 (*this, f, c); + } + + Int48:: + ~Int48 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, Int48 > + _xsd_Int48_type_factory_init ( + "Int48", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const Int48& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const Int48& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const Int48& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, Int48 > + _xsd_Int48_type_serializer_init ( + "Int48", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Int48.hxx b/oadrsd/oadrsd/2b/Int48.hxx new file mode 100644 index 0000000..b60dfdf --- /dev/null +++ b/oadrsd/oadrsd/2b/Int48.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INT48_HXX +#define INT48_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class Int48; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class Int48: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + Int48 (const ::xml_schema::long_&); + + Int48 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int48 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int48 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Int48 (const Int48& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Int48* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~Int48 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const Int48&); + + void + operator<< (::xercesc::DOMAttr&, const Int48&); + + void + operator<< (::xml_schema::list_stream&, + const Int48&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INT48_HXX diff --git a/oadrsd/oadrsd/2b/IntervalBlock.cxx b/oadrsd/oadrsd/2b/IntervalBlock.cxx new file mode 100644 index 0000000..d79edfe --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalBlock.cxx @@ -0,0 +1,348 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "IntervalBlock.hxx" + +#include "DateTimeInterval.hxx" + +#include "IntervalReading.hxx" + +namespace espi +{ + // IntervalBlock + // + + const IntervalBlock::interval_optional& IntervalBlock:: + interval () const + { + return this->interval_; + } + + IntervalBlock::interval_optional& IntervalBlock:: + interval () + { + return this->interval_; + } + + void IntervalBlock:: + interval (const interval_type& x) + { + this->interval_.set (x); + } + + void IntervalBlock:: + interval (const interval_optional& x) + { + this->interval_ = x; + } + + void IntervalBlock:: + interval (::std::auto_ptr< interval_type > x) + { + this->interval_.set (x); + } + + const IntervalBlock::IntervalReading_sequence& IntervalBlock:: + IntervalReading () const + { + return this->IntervalReading_; + } + + IntervalBlock::IntervalReading_sequence& IntervalBlock:: + IntervalReading () + { + return this->IntervalReading_; + } + + void IntervalBlock:: + IntervalReading (const IntervalReading_sequence& s) + { + this->IntervalReading_ = s; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // IntervalBlock + // + + IntervalBlock:: + IntervalBlock () + : ::espi::IdentifiedObject (), + interval_ (this), + IntervalReading_ (this) + { + } + + IntervalBlock:: + IntervalBlock (const IntervalBlock& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + interval_ (x.interval_, f, this), + IntervalReading_ (x.IntervalReading_, f, this) + { + } + + IntervalBlock:: + IntervalBlock (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + interval_ (this), + IntervalReading_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void IntervalBlock:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // interval + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< interval_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->interval_) + { + ::std::auto_ptr< interval_type > r ( + dynamic_cast< interval_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->interval_.set (r); + continue; + } + } + } + + // IntervalReading + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IntervalReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< IntervalReading_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< IntervalReading_type > r ( + dynamic_cast< IntervalReading_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->IntervalReading_.push_back (r); + continue; + } + } + + break; + } + } + + IntervalBlock* IntervalBlock:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class IntervalBlock (*this, f, c); + } + + IntervalBlock& IntervalBlock:: + operator= (const IntervalBlock& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->interval_ = x.interval_; + this->IntervalReading_ = x.IntervalReading_; + } + + return *this; + } + + IntervalBlock:: + ~IntervalBlock () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, IntervalBlock > + _xsd_IntervalBlock_type_factory_init ( + "IntervalBlock", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const IntervalBlock& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // interval + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.interval ()) + { + const IntervalBlock::interval_type& x (*i.interval ()); + if (typeid (IntervalBlock::interval_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "interval", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "interval", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // IntervalReading + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (IntervalBlock::IntervalReading_const_iterator + b (i.IntervalReading ().begin ()), n (i.IntervalReading ().end ()); + b != n; ++b) + { + if (typeid (IntervalBlock::IntervalReading_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "IntervalReading", + "http://naesb.org/espi", + e)); + + s << *b; + } + else + tsm.serialize ( + "IntervalReading", + "http://naesb.org/espi", + false, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, IntervalBlock > + _xsd_IntervalBlock_type_serializer_init ( + "IntervalBlock", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/IntervalBlock.hxx b/oadrsd/oadrsd/2b/IntervalBlock.hxx new file mode 100644 index 0000000..3533aad --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalBlock.hxx @@ -0,0 +1,392 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INTERVAL_BLOCK_HXX +#define INTERVAL_BLOCK_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class IntervalBlock; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class DateTimeInterval; +} + +namespace espi +{ + class IntervalReading; +} + +namespace espi +{ + class IntervalBlock: public ::espi::IdentifiedObject + { + public: + // interval + // + typedef ::espi::DateTimeInterval interval_type; + typedef ::xsd::cxx::tree::optional< interval_type > interval_optional; + typedef ::xsd::cxx::tree::traits< interval_type, char > interval_traits; + + const interval_optional& + interval () const; + + interval_optional& + interval (); + + void + interval (const interval_type& x); + + void + interval (const interval_optional& x); + + void + interval (::std::auto_ptr< interval_type > p); + + // IntervalReading + // + typedef ::espi::IntervalReading IntervalReading_type; + typedef ::xsd::cxx::tree::sequence< IntervalReading_type > IntervalReading_sequence; + typedef IntervalReading_sequence::iterator IntervalReading_iterator; + typedef IntervalReading_sequence::const_iterator IntervalReading_const_iterator; + typedef ::xsd::cxx::tree::traits< IntervalReading_type, char > IntervalReading_traits; + + const IntervalReading_sequence& + IntervalReading () const; + + IntervalReading_sequence& + IntervalReading (); + + void + IntervalReading (const IntervalReading_sequence& s); + + // Constructors. + // + IntervalBlock (); + + IntervalBlock (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + IntervalBlock (const IntervalBlock& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual IntervalBlock* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + IntervalBlock& + operator= (const IntervalBlock& x); + + virtual + ~IntervalBlock (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + interval_optional interval_; + IntervalReading_sequence IntervalReading_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const IntervalBlock&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INTERVAL_BLOCK_HXX diff --git a/oadrsd/oadrsd/2b/IntervalReading.cxx b/oadrsd/oadrsd/2b/IntervalReading.cxx new file mode 100644 index 0000000..3d9a329 --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalReading.cxx @@ -0,0 +1,528 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "IntervalReading.hxx" + +#include "Int48.hxx" + +#include "ReadingQuality.hxx" + +#include "DateTimeInterval.hxx" + +namespace espi +{ + // IntervalReading + // + + const IntervalReading::cost_optional& IntervalReading:: + cost () const + { + return this->cost_; + } + + IntervalReading::cost_optional& IntervalReading:: + cost () + { + return this->cost_; + } + + void IntervalReading:: + cost (const cost_type& x) + { + this->cost_.set (x); + } + + void IntervalReading:: + cost (const cost_optional& x) + { + this->cost_ = x; + } + + void IntervalReading:: + cost (::std::auto_ptr< cost_type > x) + { + this->cost_.set (x); + } + + const IntervalReading::ReadingQuality_sequence& IntervalReading:: + ReadingQuality () const + { + return this->ReadingQuality_; + } + + IntervalReading::ReadingQuality_sequence& IntervalReading:: + ReadingQuality () + { + return this->ReadingQuality_; + } + + void IntervalReading:: + ReadingQuality (const ReadingQuality_sequence& s) + { + this->ReadingQuality_ = s; + } + + const IntervalReading::timePeriod_optional& IntervalReading:: + timePeriod () const + { + return this->timePeriod_; + } + + IntervalReading::timePeriod_optional& IntervalReading:: + timePeriod () + { + return this->timePeriod_; + } + + void IntervalReading:: + timePeriod (const timePeriod_type& x) + { + this->timePeriod_.set (x); + } + + void IntervalReading:: + timePeriod (const timePeriod_optional& x) + { + this->timePeriod_ = x; + } + + void IntervalReading:: + timePeriod (::std::auto_ptr< timePeriod_type > x) + { + this->timePeriod_.set (x); + } + + const IntervalReading::value_optional& IntervalReading:: + value () const + { + return this->value_; + } + + IntervalReading::value_optional& IntervalReading:: + value () + { + return this->value_; + } + + void IntervalReading:: + value (const value_type& x) + { + this->value_.set (x); + } + + void IntervalReading:: + value (const value_optional& x) + { + this->value_ = x; + } + + void IntervalReading:: + value (::std::auto_ptr< value_type > x) + { + this->value_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // IntervalReading + // + + IntervalReading:: + IntervalReading () + : ::espi::Object (), + cost_ (this), + ReadingQuality_ (this), + timePeriod_ (this), + value_ (this) + { + } + + IntervalReading:: + IntervalReading (const IntervalReading& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + cost_ (x.cost_, f, this), + ReadingQuality_ (x.ReadingQuality_, f, this), + timePeriod_ (x.timePeriod_, f, this), + value_ (x.value_, f, this) + { + } + + IntervalReading:: + IntervalReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + cost_ (this), + ReadingQuality_ (this), + timePeriod_ (this), + value_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void IntervalReading:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // cost + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "cost", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< cost_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->cost_) + { + ::std::auto_ptr< cost_type > r ( + dynamic_cast< cost_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->cost_.set (r); + continue; + } + } + } + + // ReadingQuality + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReadingQuality", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ReadingQuality_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ReadingQuality_type > r ( + dynamic_cast< ReadingQuality_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ReadingQuality_.push_back (r); + continue; + } + } + + // timePeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "timePeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< timePeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->timePeriod_) + { + ::std::auto_ptr< timePeriod_type > r ( + dynamic_cast< timePeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->timePeriod_.set (r); + continue; + } + } + } + + // value + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "value", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< value_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->value_) + { + ::std::auto_ptr< value_type > r ( + dynamic_cast< value_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->value_.set (r); + continue; + } + } + } + + break; + } + } + + IntervalReading* IntervalReading:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class IntervalReading (*this, f, c); + } + + IntervalReading& IntervalReading:: + operator= (const IntervalReading& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->cost_ = x.cost_; + this->ReadingQuality_ = x.ReadingQuality_; + this->timePeriod_ = x.timePeriod_; + this->value_ = x.value_; + } + + return *this; + } + + IntervalReading:: + ~IntervalReading () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, IntervalReading > + _xsd_IntervalReading_type_factory_init ( + "IntervalReading", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const IntervalReading& i) + { + e << static_cast< const ::espi::Object& > (i); + + // cost + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.cost ()) + { + const IntervalReading::cost_type& x (*i.cost ()); + if (typeid (IntervalReading::cost_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "cost", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "cost", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // ReadingQuality + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (IntervalReading::ReadingQuality_const_iterator + b (i.ReadingQuality ().begin ()), n (i.ReadingQuality ().end ()); + b != n; ++b) + { + if (typeid (IntervalReading::ReadingQuality_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ReadingQuality", + "http://naesb.org/espi", + e)); + + s << *b; + } + else + tsm.serialize ( + "ReadingQuality", + "http://naesb.org/espi", + false, true, e, *b); + } + } + + // timePeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.timePeriod ()) + { + const IntervalReading::timePeriod_type& x (*i.timePeriod ()); + if (typeid (IntervalReading::timePeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "timePeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "timePeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // value + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.value ()) + { + const IntervalReading::value_type& x (*i.value ()); + if (typeid (IntervalReading::value_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "value", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "value", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, IntervalReading > + _xsd_IntervalReading_type_serializer_init ( + "IntervalReading", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/IntervalReading.hxx b/oadrsd/oadrsd/2b/IntervalReading.hxx new file mode 100644 index 0000000..89d92c6 --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalReading.hxx @@ -0,0 +1,441 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INTERVAL_READING_HXX +#define INTERVAL_READING_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class IntervalReading; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class Int48; +} + +namespace espi +{ + class ReadingQuality; +} + +namespace espi +{ + class DateTimeInterval; +} + +namespace espi +{ + class IntervalReading: public ::espi::Object + { + public: + // cost + // + typedef ::espi::Int48 cost_type; + typedef ::xsd::cxx::tree::optional< cost_type > cost_optional; + typedef ::xsd::cxx::tree::traits< cost_type, char > cost_traits; + + const cost_optional& + cost () const; + + cost_optional& + cost (); + + void + cost (const cost_type& x); + + void + cost (const cost_optional& x); + + void + cost (::std::auto_ptr< cost_type > p); + + // ReadingQuality + // + typedef ::espi::ReadingQuality ReadingQuality_type; + typedef ::xsd::cxx::tree::sequence< ReadingQuality_type > ReadingQuality_sequence; + typedef ReadingQuality_sequence::iterator ReadingQuality_iterator; + typedef ReadingQuality_sequence::const_iterator ReadingQuality_const_iterator; + typedef ::xsd::cxx::tree::traits< ReadingQuality_type, char > ReadingQuality_traits; + + const ReadingQuality_sequence& + ReadingQuality () const; + + ReadingQuality_sequence& + ReadingQuality (); + + void + ReadingQuality (const ReadingQuality_sequence& s); + + // timePeriod + // + typedef ::espi::DateTimeInterval timePeriod_type; + typedef ::xsd::cxx::tree::optional< timePeriod_type > timePeriod_optional; + typedef ::xsd::cxx::tree::traits< timePeriod_type, char > timePeriod_traits; + + const timePeriod_optional& + timePeriod () const; + + timePeriod_optional& + timePeriod (); + + void + timePeriod (const timePeriod_type& x); + + void + timePeriod (const timePeriod_optional& x); + + void + timePeriod (::std::auto_ptr< timePeriod_type > p); + + // value + // + typedef ::espi::Int48 value_type; + typedef ::xsd::cxx::tree::optional< value_type > value_optional; + typedef ::xsd::cxx::tree::traits< value_type, char > value_traits; + + const value_optional& + value () const; + + value_optional& + value (); + + void + value (const value_type& x); + + void + value (const value_optional& x); + + void + value (::std::auto_ptr< value_type > p); + + // Constructors. + // + IntervalReading (); + + IntervalReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + IntervalReading (const IntervalReading& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual IntervalReading* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + IntervalReading& + operator= (const IntervalReading& x); + + virtual + ~IntervalReading (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + cost_optional cost_; + ReadingQuality_sequence ReadingQuality_; + timePeriod_optional timePeriod_; + value_optional value_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const IntervalReading&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INTERVAL_READING_HXX diff --git a/oadrsd/oadrsd/2b/IntervalType.cxx b/oadrsd/oadrsd/2b/IntervalType.cxx new file mode 100644 index 0000000..b4652b0 --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalType.cxx @@ -0,0 +1,484 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "IntervalType.hxx" + +#include "dtstart.hxx" + +#include "DurationPropType.hxx" + +#include "uid.hxx" + +#include "StreamPayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // IntervalType + // + + const IntervalType::dtstart_optional& IntervalType:: + dtstart () const + { + return this->dtstart_; + } + + IntervalType::dtstart_optional& IntervalType:: + dtstart () + { + return this->dtstart_; + } + + void IntervalType:: + dtstart (const dtstart_type& x) + { + this->dtstart_.set (x); + } + + void IntervalType:: + dtstart (const dtstart_optional& x) + { + this->dtstart_ = x; + } + + void IntervalType:: + dtstart (::std::auto_ptr< dtstart_type > x) + { + this->dtstart_.set (x); + } + + const IntervalType::duration_optional& IntervalType:: + duration () const + { + return this->duration_; + } + + IntervalType::duration_optional& IntervalType:: + duration () + { + return this->duration_; + } + + void IntervalType:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void IntervalType:: + duration (const duration_optional& x) + { + this->duration_ = x; + } + + void IntervalType:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } + + const IntervalType::uid_optional& IntervalType:: + uid () const + { + return this->uid_; + } + + IntervalType::uid_optional& IntervalType:: + uid () + { + return this->uid_; + } + + void IntervalType:: + uid (const uid_type& x) + { + this->uid_.set (x); + } + + void IntervalType:: + uid (const uid_optional& x) + { + this->uid_ = x; + } + + void IntervalType:: + uid (::std::auto_ptr< uid_type > x) + { + this->uid_.set (x); + } + + const IntervalType::streamPayloadBase_sequence& IntervalType:: + streamPayloadBase () const + { + return this->streamPayloadBase_; + } + + IntervalType::streamPayloadBase_sequence& IntervalType:: + streamPayloadBase () + { + return this->streamPayloadBase_; + } + + void IntervalType:: + streamPayloadBase (const streamPayloadBase_sequence& s) + { + this->streamPayloadBase_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // IntervalType + // + + IntervalType:: + IntervalType () + : ::xml_schema::type (), + dtstart_ (this), + duration_ (this), + uid_ (this), + streamPayloadBase_ (this) + { + } + + IntervalType:: + IntervalType (const IntervalType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + dtstart_ (x.dtstart_, f, this), + duration_ (x.duration_, f, this), + uid_ (x.uid_, f, this), + streamPayloadBase_ (x.streamPayloadBase_, f, this) + { + } + + IntervalType:: + IntervalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + dtstart_ (this), + duration_ (this), + uid_ (this), + streamPayloadBase_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void IntervalType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // dtstart + // + if (n.name () == "dtstart" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< dtstart_type > r ( + dtstart_traits::create (i, f, this)); + + if (!this->dtstart_) + { + this->dtstart_.set (r); + continue; + } + } + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< duration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->duration_) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + // uid + // + if (n.name () == "uid" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< uid_type > r ( + uid_traits::create (i, f, this)); + + if (!this->uid_) + { + this->uid_.set (r); + continue; + } + } + + // streamPayloadBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + &::xsd::cxx::tree::factory_impl< streamPayloadBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< streamPayloadBase_type > r ( + dynamic_cast< streamPayloadBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->streamPayloadBase_.push_back (r); + continue; + } + } + + break; + } + } + + IntervalType* IntervalType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class IntervalType (*this, f, c); + } + + IntervalType& IntervalType:: + operator= (const IntervalType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->dtstart_ = x.dtstart_; + this->duration_ = x.duration_; + this->uid_ = x.uid_; + this->streamPayloadBase_ = x.streamPayloadBase_; + } + + return *this; + } + + IntervalType:: + ~IntervalType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, IntervalType > + _xsd_IntervalType_type_factory_init ( + "IntervalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const IntervalType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // dtstart + // + if (i.dtstart ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << *i.dtstart (); + } + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.duration ()) + { + const IntervalType::duration_type& x (*i.duration ()); + if (typeid (IntervalType::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } + + // uid + // + if (i.uid ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uid", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << *i.uid (); + } + + // streamPayloadBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (IntervalType::streamPayloadBase_const_iterator + b (i.streamPayloadBase ().begin ()), n (i.streamPayloadBase ().end ()); + b != n; ++b) + { + if (typeid (IntervalType::streamPayloadBase_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e)); + + s << *b; + } + else + tsm.serialize ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, IntervalType > + _xsd_IntervalType_type_serializer_init ( + "IntervalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/IntervalType.hxx b/oadrsd/oadrsd/2b/IntervalType.hxx new file mode 100644 index 0000000..7852bbd --- /dev/null +++ b/oadrsd/oadrsd/2b/IntervalType.hxx @@ -0,0 +1,456 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INTERVAL_TYPE_HXX +#define INTERVAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class IntervalType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class dtstart; +} + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace icalendar_2_0 +{ + class uid; +} + +namespace stream +{ + class StreamPayloadBaseType; +} + +namespace oadr2b +{ + namespace ei + { + class IntervalType: public ::xml_schema::type + { + public: + // dtstart + // + typedef ::icalendar_2_0::dtstart dtstart_type; + typedef ::xsd::cxx::tree::optional< dtstart_type > dtstart_optional; + typedef ::xsd::cxx::tree::traits< dtstart_type, char > dtstart_traits; + + const dtstart_optional& + dtstart () const; + + dtstart_optional& + dtstart (); + + void + dtstart (const dtstart_type& x); + + void + dtstart (const dtstart_optional& x); + + void + dtstart (::std::auto_ptr< dtstart_type > p); + + // duration + // + typedef ::icalendar_2_0::DurationPropType duration_type; + typedef ::xsd::cxx::tree::optional< duration_type > duration_optional; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_optional& + duration () const; + + duration_optional& + duration (); + + void + duration (const duration_type& x); + + void + duration (const duration_optional& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // uid + // + typedef ::icalendar_2_0::uid uid_type; + typedef ::xsd::cxx::tree::optional< uid_type > uid_optional; + typedef ::xsd::cxx::tree::traits< uid_type, char > uid_traits; + + const uid_optional& + uid () const; + + uid_optional& + uid (); + + void + uid (const uid_type& x); + + void + uid (const uid_optional& x); + + void + uid (::std::auto_ptr< uid_type > p); + + // streamPayloadBase + // + typedef ::stream::StreamPayloadBaseType streamPayloadBase_type; + typedef ::xsd::cxx::tree::sequence< streamPayloadBase_type > streamPayloadBase_sequence; + typedef streamPayloadBase_sequence::iterator streamPayloadBase_iterator; + typedef streamPayloadBase_sequence::const_iterator streamPayloadBase_const_iterator; + typedef ::xsd::cxx::tree::traits< streamPayloadBase_type, char > streamPayloadBase_traits; + + const streamPayloadBase_sequence& + streamPayloadBase () const; + + streamPayloadBase_sequence& + streamPayloadBase (); + + void + streamPayloadBase (const streamPayloadBase_sequence& s); + + // Constructors. + // + IntervalType (); + + IntervalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + IntervalType (const IntervalType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual IntervalType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + IntervalType& + operator= (const IntervalType& x); + + virtual + ~IntervalType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + dtstart_optional dtstart_; + duration_optional duration_; + uid_optional uid_; + streamPayloadBase_sequence streamPayloadBase_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const IntervalType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INTERVAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ItemBaseType.cxx b/oadrsd/oadrsd/2b/ItemBaseType.cxx new file mode 100644 index 0000000..18e3ccb --- /dev/null +++ b/oadrsd/oadrsd/2b/ItemBaseType.cxx @@ -0,0 +1,188 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace emix + { + // ItemBaseType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + // ItemBaseType + // + + ItemBaseType:: + ItemBaseType () + : ::xml_schema::type () + { + } + + ItemBaseType:: + ItemBaseType (const ItemBaseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c) + { + } + + ItemBaseType:: + ItemBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f, c) + { + } + + ItemBaseType:: + ItemBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (a, f, c) + { + } + + ItemBaseType:: + ItemBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (s, e, f, c) + { + } + + ItemBaseType* ItemBaseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ItemBaseType (*this, f, c); + } + + ItemBaseType:: + ~ItemBaseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ItemBaseType > + _xsd_ItemBaseType_type_factory_init ( + "ItemBaseType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement& e, const ItemBaseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const ItemBaseType&) + { + } + + void + operator<< (::xml_schema::list_stream&, + const ItemBaseType&) + { + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ItemBaseType > + _xsd_ItemBaseType_type_serializer_init ( + "ItemBaseType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ItemBaseType.hxx b/oadrsd/oadrsd/2b/ItemBaseType.hxx new file mode 100644 index 0000000..5fd57ae --- /dev/null +++ b/oadrsd/oadrsd/2b/ItemBaseType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ITEM_BASE_TYPE_HXX +#define ITEM_BASE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace emix + { + class ItemBaseType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + class ItemBaseType: public ::xml_schema::type + { + public: + // Constructors. + // + ItemBaseType (); + + ItemBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ItemBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ItemBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ItemBaseType (const ItemBaseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ItemBaseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~ItemBaseType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement&, const ItemBaseType&); + + void + operator<< (::xercesc::DOMAttr&, const ItemBaseType&); + + void + operator<< (::xml_schema::list_stream&, + const ItemBaseType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ITEM_BASE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/KeyInfoReferenceType.cxx b/oadrsd/oadrsd/2b/KeyInfoReferenceType.cxx new file mode 100644 index 0000000..6055105 --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyInfoReferenceType.cxx @@ -0,0 +1,294 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "KeyInfoReferenceType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // KeyInfoReferenceType + // + + const KeyInfoReferenceType::URI_type& KeyInfoReferenceType:: + URI () const + { + return this->URI_.get (); + } + + KeyInfoReferenceType::URI_type& KeyInfoReferenceType:: + URI () + { + return this->URI_.get (); + } + + void KeyInfoReferenceType:: + URI (const URI_type& x) + { + this->URI_.set (x); + } + + void KeyInfoReferenceType:: + URI (::std::auto_ptr< URI_type > x) + { + this->URI_.set (x); + } + + const KeyInfoReferenceType::Id_optional& KeyInfoReferenceType:: + Id () const + { + return this->Id_; + } + + KeyInfoReferenceType::Id_optional& KeyInfoReferenceType:: + Id () + { + return this->Id_; + } + + void KeyInfoReferenceType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void KeyInfoReferenceType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void KeyInfoReferenceType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // KeyInfoReferenceType + // + + KeyInfoReferenceType:: + KeyInfoReferenceType (const URI_type& URI) + : ::xml_schema::type (), + URI_ (URI, this), + Id_ (this) + { + } + + KeyInfoReferenceType:: + KeyInfoReferenceType (const KeyInfoReferenceType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + URI_ (x.URI_, f, this), + Id_ (x.Id_, f, this) + { + } + + KeyInfoReferenceType:: + KeyInfoReferenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + URI_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void KeyInfoReferenceType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "URI" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->URI_.set (URI_traits::create (i, f, this)); + continue; + } + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + + if (!URI_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "URI", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + KeyInfoReferenceType* KeyInfoReferenceType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class KeyInfoReferenceType (*this, f, c); + } + + KeyInfoReferenceType& KeyInfoReferenceType:: + operator= (const KeyInfoReferenceType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->URI_ = x.URI_; + this->Id_ = x.Id_; + } + + return *this; + } + + KeyInfoReferenceType:: + ~KeyInfoReferenceType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, KeyInfoReferenceType > + _xsd_KeyInfoReferenceType_type_factory_init ( + "KeyInfoReferenceType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const KeyInfoReferenceType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // URI + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "URI", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << i.URI (); + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, KeyInfoReferenceType > + _xsd_KeyInfoReferenceType_type_serializer_init ( + "KeyInfoReferenceType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/KeyInfoReferenceType.hxx b/oadrsd/oadrsd/2b/KeyInfoReferenceType.hxx new file mode 100644 index 0000000..80ab101 --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyInfoReferenceType.hxx @@ -0,0 +1,392 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef KEY_INFO_REFERENCE_TYPE_HXX +#define KEY_INFO_REFERENCE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class KeyInfoReferenceType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class KeyInfoReferenceType: public ::xml_schema::type + { + public: + // URI + // + typedef ::xml_schema::uri URI_type; + typedef ::xsd::cxx::tree::traits< URI_type, char > URI_traits; + + const URI_type& + URI () const; + + URI_type& + URI (); + + void + URI (const URI_type& x); + + void + URI (::std::auto_ptr< URI_type > p); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + KeyInfoReferenceType (const URI_type&); + + KeyInfoReferenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + KeyInfoReferenceType (const KeyInfoReferenceType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual KeyInfoReferenceType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + KeyInfoReferenceType& + operator= (const KeyInfoReferenceType& x); + + virtual + ~KeyInfoReferenceType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< URI_type > URI_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const KeyInfoReferenceType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // KEY_INFO_REFERENCE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/KeyInfoType.cxx b/oadrsd/oadrsd/2b/KeyInfoType.cxx new file mode 100644 index 0000000..45cd183 --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyInfoType.cxx @@ -0,0 +1,785 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "KeyInfoType.hxx" + +#include "KeyValueType.hxx" + +#include "RetrievalMethodType.hxx" + +#include "X509DataType.hxx" + +#include "PGPDataType.hxx" + +#include "SPKIDataType.hxx" + +namespace oadr2b +{ + namespace sig + { + // KeyInfoType + // + + const KeyInfoType::KeyName_sequence& KeyInfoType:: + KeyName () const + { + return this->KeyName_; + } + + KeyInfoType::KeyName_sequence& KeyInfoType:: + KeyName () + { + return this->KeyName_; + } + + void KeyInfoType:: + KeyName (const KeyName_sequence& s) + { + this->KeyName_ = s; + } + + const KeyInfoType::KeyValue_sequence& KeyInfoType:: + KeyValue () const + { + return this->KeyValue_; + } + + KeyInfoType::KeyValue_sequence& KeyInfoType:: + KeyValue () + { + return this->KeyValue_; + } + + void KeyInfoType:: + KeyValue (const KeyValue_sequence& s) + { + this->KeyValue_ = s; + } + + const KeyInfoType::RetrievalMethod_sequence& KeyInfoType:: + RetrievalMethod () const + { + return this->RetrievalMethod_; + } + + KeyInfoType::RetrievalMethod_sequence& KeyInfoType:: + RetrievalMethod () + { + return this->RetrievalMethod_; + } + + void KeyInfoType:: + RetrievalMethod (const RetrievalMethod_sequence& s) + { + this->RetrievalMethod_ = s; + } + + const KeyInfoType::X509Data_sequence& KeyInfoType:: + X509Data () const + { + return this->X509Data_; + } + + KeyInfoType::X509Data_sequence& KeyInfoType:: + X509Data () + { + return this->X509Data_; + } + + void KeyInfoType:: + X509Data (const X509Data_sequence& s) + { + this->X509Data_ = s; + } + + const KeyInfoType::PGPData_sequence& KeyInfoType:: + PGPData () const + { + return this->PGPData_; + } + + KeyInfoType::PGPData_sequence& KeyInfoType:: + PGPData () + { + return this->PGPData_; + } + + void KeyInfoType:: + PGPData (const PGPData_sequence& s) + { + this->PGPData_ = s; + } + + const KeyInfoType::SPKIData_sequence& KeyInfoType:: + SPKIData () const + { + return this->SPKIData_; + } + + KeyInfoType::SPKIData_sequence& KeyInfoType:: + SPKIData () + { + return this->SPKIData_; + } + + void KeyInfoType:: + SPKIData (const SPKIData_sequence& s) + { + this->SPKIData_ = s; + } + + const KeyInfoType::MgmtData_sequence& KeyInfoType:: + MgmtData () const + { + return this->MgmtData_; + } + + KeyInfoType::MgmtData_sequence& KeyInfoType:: + MgmtData () + { + return this->MgmtData_; + } + + void KeyInfoType:: + MgmtData (const MgmtData_sequence& s) + { + this->MgmtData_ = s; + } + + const KeyInfoType::Id_optional& KeyInfoType:: + Id () const + { + return this->Id_; + } + + KeyInfoType::Id_optional& KeyInfoType:: + Id () + { + return this->Id_; + } + + void KeyInfoType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void KeyInfoType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void KeyInfoType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // KeyInfoType + // + + KeyInfoType:: + KeyInfoType () + : ::xml_schema::type (), + KeyName_ (this), + KeyValue_ (this), + RetrievalMethod_ (this), + X509Data_ (this), + PGPData_ (this), + SPKIData_ (this), + MgmtData_ (this), + Id_ (this) + { + } + + KeyInfoType:: + KeyInfoType (const KeyInfoType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + KeyName_ (x.KeyName_, f, this), + KeyValue_ (x.KeyValue_, f, this), + RetrievalMethod_ (x.RetrievalMethod_, f, this), + X509Data_ (x.X509Data_, f, this), + PGPData_ (x.PGPData_, f, this), + SPKIData_ (x.SPKIData_, f, this), + MgmtData_ (x.MgmtData_, f, this), + Id_ (x.Id_, f, this) + { + } + + KeyInfoType:: + KeyInfoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + KeyName_ (this), + KeyValue_ (this), + RetrievalMethod_ (this), + X509Data_ (this), + PGPData_ (this), + SPKIData_ (this), + MgmtData_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void KeyInfoType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // KeyName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< KeyName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< KeyName_type > r ( + dynamic_cast< KeyName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->KeyName_.push_back (r); + continue; + } + } + + // KeyValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< KeyValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< KeyValue_type > r ( + dynamic_cast< KeyValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->KeyValue_.push_back (r); + continue; + } + } + + // RetrievalMethod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< RetrievalMethod_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< RetrievalMethod_type > r ( + dynamic_cast< RetrievalMethod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->RetrievalMethod_.push_back (r); + continue; + } + } + + // X509Data + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509Data_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509Data_type > r ( + dynamic_cast< X509Data_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509Data_.push_back (r); + continue; + } + } + + // PGPData + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< PGPData_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< PGPData_type > r ( + dynamic_cast< PGPData_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PGPData_.push_back (r); + continue; + } + } + + // SPKIData + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SPKIData_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< SPKIData_type > r ( + dynamic_cast< SPKIData_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SPKIData_.push_back (r); + continue; + } + } + + // MgmtData + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< MgmtData_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< MgmtData_type > r ( + dynamic_cast< MgmtData_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->MgmtData_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + KeyInfoType* KeyInfoType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class KeyInfoType (*this, f, c); + } + + KeyInfoType& KeyInfoType:: + operator= (const KeyInfoType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->KeyName_ = x.KeyName_; + this->KeyValue_ = x.KeyValue_; + this->RetrievalMethod_ = x.RetrievalMethod_; + this->X509Data_ = x.X509Data_; + this->PGPData_ = x.PGPData_; + this->SPKIData_ = x.SPKIData_; + this->MgmtData_ = x.MgmtData_; + this->Id_ = x.Id_; + } + + return *this; + } + + KeyInfoType:: + ~KeyInfoType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, KeyInfoType > + _xsd_KeyInfoType_type_factory_init ( + "KeyInfoType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const KeyInfoType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // KeyName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::KeyName_const_iterator + b (i.KeyName ().begin ()), n (i.KeyName ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::KeyName_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // KeyValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::KeyValue_const_iterator + b (i.KeyValue ().begin ()), n (i.KeyValue ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::KeyValue_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // RetrievalMethod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::RetrievalMethod_const_iterator + b (i.RetrievalMethod ().begin ()), n (i.RetrievalMethod ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::RetrievalMethod_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // X509Data + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::X509Data_const_iterator + b (i.X509Data ().begin ()), n (i.X509Data ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::X509Data_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // PGPData + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::PGPData_const_iterator + b (i.PGPData ().begin ()), n (i.PGPData ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::PGPData_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // SPKIData + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::SPKIData_const_iterator + b (i.SPKIData ().begin ()), n (i.SPKIData ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::SPKIData_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // MgmtData + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (KeyInfoType::MgmtData_const_iterator + b (i.MgmtData ().begin ()), n (i.MgmtData ().end ()); + b != n; ++b) + { + if (typeid (KeyInfoType::MgmtData_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, KeyInfoType > + _xsd_KeyInfoType_type_serializer_init ( + "KeyInfoType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/KeyInfoType.hxx b/oadrsd/oadrsd/2b/KeyInfoType.hxx new file mode 100644 index 0000000..f785545 --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyInfoType.hxx @@ -0,0 +1,540 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef KEY_INFO_TYPE_HXX +#define KEY_INFO_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class KeyInfoType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class KeyValueType; + } +} + +namespace oadr2b +{ + namespace sig + { + class RetrievalMethodType; + } +} + +namespace oadr2b +{ + namespace sig + { + class X509DataType; + } +} + +namespace oadr2b +{ + namespace sig + { + class PGPDataType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SPKIDataType; + } +} + +namespace oadr2b +{ + namespace sig + { + class KeyInfoType: public ::xml_schema::type + { + public: + // KeyName + // + typedef ::xml_schema::string KeyName_type; + typedef ::xsd::cxx::tree::sequence< KeyName_type > KeyName_sequence; + typedef KeyName_sequence::iterator KeyName_iterator; + typedef KeyName_sequence::const_iterator KeyName_const_iterator; + typedef ::xsd::cxx::tree::traits< KeyName_type, char > KeyName_traits; + + const KeyName_sequence& + KeyName () const; + + KeyName_sequence& + KeyName (); + + void + KeyName (const KeyName_sequence& s); + + // KeyValue + // + typedef ::oadr2b::sig::KeyValueType KeyValue_type; + typedef ::xsd::cxx::tree::sequence< KeyValue_type > KeyValue_sequence; + typedef KeyValue_sequence::iterator KeyValue_iterator; + typedef KeyValue_sequence::const_iterator KeyValue_const_iterator; + typedef ::xsd::cxx::tree::traits< KeyValue_type, char > KeyValue_traits; + + const KeyValue_sequence& + KeyValue () const; + + KeyValue_sequence& + KeyValue (); + + void + KeyValue (const KeyValue_sequence& s); + + // RetrievalMethod + // + typedef ::oadr2b::sig::RetrievalMethodType RetrievalMethod_type; + typedef ::xsd::cxx::tree::sequence< RetrievalMethod_type > RetrievalMethod_sequence; + typedef RetrievalMethod_sequence::iterator RetrievalMethod_iterator; + typedef RetrievalMethod_sequence::const_iterator RetrievalMethod_const_iterator; + typedef ::xsd::cxx::tree::traits< RetrievalMethod_type, char > RetrievalMethod_traits; + + const RetrievalMethod_sequence& + RetrievalMethod () const; + + RetrievalMethod_sequence& + RetrievalMethod (); + + void + RetrievalMethod (const RetrievalMethod_sequence& s); + + // X509Data + // + typedef ::oadr2b::sig::X509DataType X509Data_type; + typedef ::xsd::cxx::tree::sequence< X509Data_type > X509Data_sequence; + typedef X509Data_sequence::iterator X509Data_iterator; + typedef X509Data_sequence::const_iterator X509Data_const_iterator; + typedef ::xsd::cxx::tree::traits< X509Data_type, char > X509Data_traits; + + const X509Data_sequence& + X509Data () const; + + X509Data_sequence& + X509Data (); + + void + X509Data (const X509Data_sequence& s); + + // PGPData + // + typedef ::oadr2b::sig::PGPDataType PGPData_type; + typedef ::xsd::cxx::tree::sequence< PGPData_type > PGPData_sequence; + typedef PGPData_sequence::iterator PGPData_iterator; + typedef PGPData_sequence::const_iterator PGPData_const_iterator; + typedef ::xsd::cxx::tree::traits< PGPData_type, char > PGPData_traits; + + const PGPData_sequence& + PGPData () const; + + PGPData_sequence& + PGPData (); + + void + PGPData (const PGPData_sequence& s); + + // SPKIData + // + typedef ::oadr2b::sig::SPKIDataType SPKIData_type; + typedef ::xsd::cxx::tree::sequence< SPKIData_type > SPKIData_sequence; + typedef SPKIData_sequence::iterator SPKIData_iterator; + typedef SPKIData_sequence::const_iterator SPKIData_const_iterator; + typedef ::xsd::cxx::tree::traits< SPKIData_type, char > SPKIData_traits; + + const SPKIData_sequence& + SPKIData () const; + + SPKIData_sequence& + SPKIData (); + + void + SPKIData (const SPKIData_sequence& s); + + // MgmtData + // + typedef ::xml_schema::string MgmtData_type; + typedef ::xsd::cxx::tree::sequence< MgmtData_type > MgmtData_sequence; + typedef MgmtData_sequence::iterator MgmtData_iterator; + typedef MgmtData_sequence::const_iterator MgmtData_const_iterator; + typedef ::xsd::cxx::tree::traits< MgmtData_type, char > MgmtData_traits; + + const MgmtData_sequence& + MgmtData () const; + + MgmtData_sequence& + MgmtData (); + + void + MgmtData (const MgmtData_sequence& s); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + KeyInfoType (); + + KeyInfoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + KeyInfoType (const KeyInfoType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual KeyInfoType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + KeyInfoType& + operator= (const KeyInfoType& x); + + virtual + ~KeyInfoType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + KeyName_sequence KeyName_; + KeyValue_sequence KeyValue_; + RetrievalMethod_sequence RetrievalMethod_; + X509Data_sequence X509Data_; + PGPData_sequence PGPData_; + SPKIData_sequence SPKIData_; + MgmtData_sequence MgmtData_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const KeyInfoType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // KEY_INFO_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/KeyValueType.cxx b/oadrsd/oadrsd/2b/KeyValueType.cxx new file mode 100644 index 0000000..2095528 --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyValueType.cxx @@ -0,0 +1,372 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "KeyValueType.hxx" + +#include "DSAKeyValueType.hxx" + +#include "RSAKeyValueType.hxx" + +namespace oadr2b +{ + namespace sig + { + // KeyValueType + // + + const KeyValueType::DSAKeyValue_optional& KeyValueType:: + DSAKeyValue () const + { + return this->DSAKeyValue_; + } + + KeyValueType::DSAKeyValue_optional& KeyValueType:: + DSAKeyValue () + { + return this->DSAKeyValue_; + } + + void KeyValueType:: + DSAKeyValue (const DSAKeyValue_type& x) + { + this->DSAKeyValue_.set (x); + } + + void KeyValueType:: + DSAKeyValue (const DSAKeyValue_optional& x) + { + this->DSAKeyValue_ = x; + } + + void KeyValueType:: + DSAKeyValue (::std::auto_ptr< DSAKeyValue_type > x) + { + this->DSAKeyValue_.set (x); + } + + const KeyValueType::RSAKeyValue_optional& KeyValueType:: + RSAKeyValue () const + { + return this->RSAKeyValue_; + } + + KeyValueType::RSAKeyValue_optional& KeyValueType:: + RSAKeyValue () + { + return this->RSAKeyValue_; + } + + void KeyValueType:: + RSAKeyValue (const RSAKeyValue_type& x) + { + this->RSAKeyValue_.set (x); + } + + void KeyValueType:: + RSAKeyValue (const RSAKeyValue_optional& x) + { + this->RSAKeyValue_ = x; + } + + void KeyValueType:: + RSAKeyValue (::std::auto_ptr< RSAKeyValue_type > x) + { + this->RSAKeyValue_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // KeyValueType + // + + KeyValueType:: + KeyValueType () + : ::xml_schema::type (), + DSAKeyValue_ (this), + RSAKeyValue_ (this) + { + } + + KeyValueType:: + KeyValueType (const KeyValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + DSAKeyValue_ (x.DSAKeyValue_, f, this), + RSAKeyValue_ (x.RSAKeyValue_, f, this) + { + } + + KeyValueType:: + KeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + DSAKeyValue_ (this), + RSAKeyValue_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void KeyValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // DSAKeyValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< DSAKeyValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->DSAKeyValue_) + { + ::std::auto_ptr< DSAKeyValue_type > r ( + dynamic_cast< DSAKeyValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->DSAKeyValue_.set (r); + continue; + } + } + } + + // RSAKeyValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< RSAKeyValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->RSAKeyValue_) + { + ::std::auto_ptr< RSAKeyValue_type > r ( + dynamic_cast< RSAKeyValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->RSAKeyValue_.set (r); + continue; + } + } + } + + break; + } + } + + KeyValueType* KeyValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class KeyValueType (*this, f, c); + } + + KeyValueType& KeyValueType:: + operator= (const KeyValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->DSAKeyValue_ = x.DSAKeyValue_; + this->RSAKeyValue_ = x.RSAKeyValue_; + } + + return *this; + } + + KeyValueType:: + ~KeyValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, KeyValueType > + _xsd_KeyValueType_type_factory_init ( + "KeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const KeyValueType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // DSAKeyValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.DSAKeyValue ()) + { + const KeyValueType::DSAKeyValue_type& x (*i.DSAKeyValue ()); + if (typeid (KeyValueType::DSAKeyValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + + // RSAKeyValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.RSAKeyValue ()) + { + const KeyValueType::RSAKeyValue_type& x (*i.RSAKeyValue ()); + if (typeid (KeyValueType::RSAKeyValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, KeyValueType > + _xsd_KeyValueType_type_serializer_init ( + "KeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/KeyValueType.hxx b/oadrsd/oadrsd/2b/KeyValueType.hxx new file mode 100644 index 0000000..466de5f --- /dev/null +++ b/oadrsd/oadrsd/2b/KeyValueType.hxx @@ -0,0 +1,412 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef KEY_VALUE_TYPE_HXX +#define KEY_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class KeyValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class DSAKeyValueType; + } +} + +namespace oadr2b +{ + namespace sig + { + class RSAKeyValueType; + } +} + +namespace oadr2b +{ + namespace sig + { + class KeyValueType: public ::xml_schema::type + { + public: + // DSAKeyValue + // + typedef ::oadr2b::sig::DSAKeyValueType DSAKeyValue_type; + typedef ::xsd::cxx::tree::optional< DSAKeyValue_type > DSAKeyValue_optional; + typedef ::xsd::cxx::tree::traits< DSAKeyValue_type, char > DSAKeyValue_traits; + + const DSAKeyValue_optional& + DSAKeyValue () const; + + DSAKeyValue_optional& + DSAKeyValue (); + + void + DSAKeyValue (const DSAKeyValue_type& x); + + void + DSAKeyValue (const DSAKeyValue_optional& x); + + void + DSAKeyValue (::std::auto_ptr< DSAKeyValue_type > p); + + // RSAKeyValue + // + typedef ::oadr2b::sig::RSAKeyValueType RSAKeyValue_type; + typedef ::xsd::cxx::tree::optional< RSAKeyValue_type > RSAKeyValue_optional; + typedef ::xsd::cxx::tree::traits< RSAKeyValue_type, char > RSAKeyValue_traits; + + const RSAKeyValue_optional& + RSAKeyValue () const; + + RSAKeyValue_optional& + RSAKeyValue (); + + void + RSAKeyValue (const RSAKeyValue_type& x); + + void + RSAKeyValue (const RSAKeyValue_optional& x); + + void + RSAKeyValue (::std::auto_ptr< RSAKeyValue_type > p); + + // Constructors. + // + KeyValueType (); + + KeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + KeyValueType (const KeyValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual KeyValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + KeyValueType& + operator= (const KeyValueType& x); + + virtual + ~KeyValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + DSAKeyValue_optional DSAKeyValue_; + RSAKeyValue_optional RSAKeyValue_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const KeyValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // KEY_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/LineItem.cxx b/oadrsd/oadrsd/2b/LineItem.cxx new file mode 100644 index 0000000..b459978 --- /dev/null +++ b/oadrsd/oadrsd/2b/LineItem.cxx @@ -0,0 +1,548 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "LineItem.hxx" + +#include "Int48.hxx" + +#include "TimeType.hxx" + +#include "String256.hxx" + +namespace espi +{ + // LineItem + // + + const LineItem::amount_type& LineItem:: + amount () const + { + return this->amount_.get (); + } + + LineItem::amount_type& LineItem:: + amount () + { + return this->amount_.get (); + } + + void LineItem:: + amount (const amount_type& x) + { + this->amount_.set (x); + } + + void LineItem:: + amount (::std::auto_ptr< amount_type > x) + { + this->amount_.set (x); + } + + const LineItem::rounding_optional& LineItem:: + rounding () const + { + return this->rounding_; + } + + LineItem::rounding_optional& LineItem:: + rounding () + { + return this->rounding_; + } + + void LineItem:: + rounding (const rounding_type& x) + { + this->rounding_.set (x); + } + + void LineItem:: + rounding (const rounding_optional& x) + { + this->rounding_ = x; + } + + void LineItem:: + rounding (::std::auto_ptr< rounding_type > x) + { + this->rounding_.set (x); + } + + const LineItem::dateTime_type& LineItem:: + dateTime () const + { + return this->dateTime_.get (); + } + + LineItem::dateTime_type& LineItem:: + dateTime () + { + return this->dateTime_.get (); + } + + void LineItem:: + dateTime (const dateTime_type& x) + { + this->dateTime_.set (x); + } + + void LineItem:: + dateTime (::std::auto_ptr< dateTime_type > x) + { + this->dateTime_.set (x); + } + + const LineItem::note_type& LineItem:: + note () const + { + return this->note_.get (); + } + + LineItem::note_type& LineItem:: + note () + { + return this->note_.get (); + } + + void LineItem:: + note (const note_type& x) + { + this->note_.set (x); + } + + void LineItem:: + note (::std::auto_ptr< note_type > x) + { + this->note_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // LineItem + // + + LineItem:: + LineItem (const amount_type& amount, + const dateTime_type& dateTime, + const note_type& note) + : ::xml_schema::type (), + amount_ (amount, this), + rounding_ (this), + dateTime_ (dateTime, this), + note_ (note, this) + { + } + + LineItem:: + LineItem (::std::auto_ptr< amount_type > amount, + ::std::auto_ptr< dateTime_type > dateTime, + ::std::auto_ptr< note_type > note) + : ::xml_schema::type (), + amount_ (amount, this), + rounding_ (this), + dateTime_ (dateTime, this), + note_ (note, this) + { + } + + LineItem:: + LineItem (const LineItem& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + amount_ (x.amount_, f, this), + rounding_ (x.rounding_, f, this), + dateTime_ (x.dateTime_, f, this), + note_ (x.note_, f, this) + { + } + + LineItem:: + LineItem (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + amount_ (this), + rounding_ (this), + dateTime_ (this), + note_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void LineItem:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // amount + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "amount", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< amount_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!amount_.present ()) + { + ::std::auto_ptr< amount_type > r ( + dynamic_cast< amount_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->amount_.set (r); + continue; + } + } + } + + // rounding + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rounding", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< rounding_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->rounding_) + { + ::std::auto_ptr< rounding_type > r ( + dynamic_cast< rounding_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rounding_.set (r); + continue; + } + } + } + + // dateTime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "dateTime", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< dateTime_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!dateTime_.present ()) + { + ::std::auto_ptr< dateTime_type > r ( + dynamic_cast< dateTime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->dateTime_.set (r); + continue; + } + } + } + + // note + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "note", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< note_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!note_.present ()) + { + ::std::auto_ptr< note_type > r ( + dynamic_cast< note_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->note_.set (r); + continue; + } + } + } + + break; + } + + if (!amount_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "amount", + "http://naesb.org/espi"); + } + + if (!dateTime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dateTime", + "http://naesb.org/espi"); + } + + if (!note_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "note", + "http://naesb.org/espi"); + } + } + + LineItem* LineItem:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class LineItem (*this, f, c); + } + + LineItem& LineItem:: + operator= (const LineItem& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->amount_ = x.amount_; + this->rounding_ = x.rounding_; + this->dateTime_ = x.dateTime_; + this->note_ = x.note_; + } + + return *this; + } + + LineItem:: + ~LineItem () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, LineItem > + _xsd_LineItem_type_factory_init ( + "LineItem", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const LineItem& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // amount + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const LineItem::amount_type& x (i.amount ()); + if (typeid (LineItem::amount_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "amount", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "amount", + "http://naesb.org/espi", + false, true, e, x); + } + + // rounding + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.rounding ()) + { + const LineItem::rounding_type& x (*i.rounding ()); + if (typeid (LineItem::rounding_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rounding", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "rounding", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // dateTime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const LineItem::dateTime_type& x (i.dateTime ()); + if (typeid (LineItem::dateTime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dateTime", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "dateTime", + "http://naesb.org/espi", + false, true, e, x); + } + + // note + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const LineItem::note_type& x (i.note ()); + if (typeid (LineItem::note_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "note", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "note", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, LineItem > + _xsd_LineItem_type_serializer_init ( + "LineItem", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/LineItem.hxx b/oadrsd/oadrsd/2b/LineItem.hxx new file mode 100644 index 0000000..8a6c5c2 --- /dev/null +++ b/oadrsd/oadrsd/2b/LineItem.hxx @@ -0,0 +1,437 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef LINE_ITEM_HXX +#define LINE_ITEM_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class LineItem; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class Int48; +} + +namespace espi +{ + class TimeType; +} + +namespace espi +{ + class String256; +} + +namespace espi +{ + class LineItem: public ::xml_schema::type + { + public: + // amount + // + typedef ::espi::Int48 amount_type; + typedef ::xsd::cxx::tree::traits< amount_type, char > amount_traits; + + const amount_type& + amount () const; + + amount_type& + amount (); + + void + amount (const amount_type& x); + + void + amount (::std::auto_ptr< amount_type > p); + + // rounding + // + typedef ::espi::Int48 rounding_type; + typedef ::xsd::cxx::tree::optional< rounding_type > rounding_optional; + typedef ::xsd::cxx::tree::traits< rounding_type, char > rounding_traits; + + const rounding_optional& + rounding () const; + + rounding_optional& + rounding (); + + void + rounding (const rounding_type& x); + + void + rounding (const rounding_optional& x); + + void + rounding (::std::auto_ptr< rounding_type > p); + + // dateTime + // + typedef ::espi::TimeType dateTime_type; + typedef ::xsd::cxx::tree::traits< dateTime_type, char > dateTime_traits; + + const dateTime_type& + dateTime () const; + + dateTime_type& + dateTime (); + + void + dateTime (const dateTime_type& x); + + void + dateTime (::std::auto_ptr< dateTime_type > p); + + // note + // + typedef ::espi::String256 note_type; + typedef ::xsd::cxx::tree::traits< note_type, char > note_traits; + + const note_type& + note () const; + + note_type& + note (); + + void + note (const note_type& x); + + void + note (::std::auto_ptr< note_type > p); + + // Constructors. + // + LineItem (const amount_type&, + const dateTime_type&, + const note_type&); + + LineItem (::std::auto_ptr< amount_type >, + ::std::auto_ptr< dateTime_type >, + ::std::auto_ptr< note_type >); + + LineItem (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + LineItem (const LineItem& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual LineItem* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + LineItem& + operator= (const LineItem& x); + + virtual + ~LineItem (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< amount_type > amount_; + rounding_optional rounding_; + ::xsd::cxx::tree::one< dateTime_type > dateTime_; + ::xsd::cxx::tree::one< note_type > note_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const LineItem&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // LINE_ITEM_HXX diff --git a/oadrsd/oadrsd/2b/LinearRing.cxx b/oadrsd/oadrsd/2b/LinearRing.cxx new file mode 100644 index 0000000..8281c51 --- /dev/null +++ b/oadrsd/oadrsd/2b/LinearRing.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "LinearRing.hxx" + +#include "doubleList.hxx" + +namespace oadr2b +{ + namespace gml + { + // LinearRing + // + + const LinearRing::posList_type& LinearRing:: + posList () const + { + return this->posList_.get (); + } + + LinearRing::posList_type& LinearRing:: + posList () + { + return this->posList_.get (); + } + + void LinearRing:: + posList (const posList_type& x) + { + this->posList_.set (x); + } + + void LinearRing:: + posList (::std::auto_ptr< posList_type > x) + { + this->posList_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // LinearRing + // + + LinearRing:: + LinearRing (const posList_type& posList) + : ::xml_schema::type (), + posList_ (posList, this) + { + } + + LinearRing:: + LinearRing (::std::auto_ptr< posList_type > posList) + : ::xml_schema::type (), + posList_ (posList, this) + { + } + + LinearRing:: + LinearRing (const LinearRing& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + posList_ (x.posList_, f, this) + { + } + + LinearRing:: + LinearRing (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + posList_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void LinearRing:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // posList + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "posList", + "http://www.opengis.net/gml/3.2", + &::xsd::cxx::tree::factory_impl< posList_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!posList_.present ()) + { + ::std::auto_ptr< posList_type > r ( + dynamic_cast< posList_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->posList_.set (r); + continue; + } + } + } + + break; + } + + if (!posList_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "posList", + "http://www.opengis.net/gml/3.2"); + } + } + + LinearRing* LinearRing:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class LinearRing (*this, f, c); + } + + LinearRing& LinearRing:: + operator= (const LinearRing& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->posList_ = x.posList_; + } + + return *this; + } + + LinearRing:: + ~LinearRing () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const LinearRing& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // posList + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const LinearRing::posList_type& x (i.posList ()); + if (typeid (LinearRing::posList_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "posList", + "http://www.opengis.net/gml/3.2", + e)); + + s << x; + } + else + tsm.serialize ( + "posList", + "http://www.opengis.net/gml/3.2", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/LinearRing.hxx b/oadrsd/oadrsd/2b/LinearRing.hxx new file mode 100644 index 0000000..9061969 --- /dev/null +++ b/oadrsd/oadrsd/2b/LinearRing.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef LINEAR_RING_HXX +#define LINEAR_RING_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class LinearRing; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class doubleList; + } +} + +namespace oadr2b +{ + namespace gml + { + class LinearRing: public ::xml_schema::type + { + public: + // posList + // + typedef ::oadr2b::gml::doubleList posList_type; + typedef ::xsd::cxx::tree::traits< posList_type, char > posList_traits; + + const posList_type& + posList () const; + + posList_type& + posList (); + + void + posList (const posList_type& x); + + void + posList (::std::auto_ptr< posList_type > p); + + // Constructors. + // + LinearRing (const posList_type&); + + LinearRing (::std::auto_ptr< posList_type >); + + LinearRing (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + LinearRing (const LinearRing& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual LinearRing* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + LinearRing& + operator= (const LinearRing& x); + + virtual + ~LinearRing (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< posList_type > posList_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const LinearRing&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // LINEAR_RING_HXX diff --git a/oadrsd/oadrsd/2b/ManifestType.cxx b/oadrsd/oadrsd/2b/ManifestType.cxx new file mode 100644 index 0000000..397c03c --- /dev/null +++ b/oadrsd/oadrsd/2b/ManifestType.cxx @@ -0,0 +1,327 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ManifestType.hxx" + +#include "ReferenceType.hxx" + +namespace oadr2b +{ + namespace sig + { + // ManifestType + // + + const ManifestType::Reference_sequence& ManifestType:: + Reference () const + { + return this->Reference_; + } + + ManifestType::Reference_sequence& ManifestType:: + Reference () + { + return this->Reference_; + } + + void ManifestType:: + Reference (const Reference_sequence& s) + { + this->Reference_ = s; + } + + const ManifestType::Id_optional& ManifestType:: + Id () const + { + return this->Id_; + } + + ManifestType::Id_optional& ManifestType:: + Id () + { + return this->Id_; + } + + void ManifestType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void ManifestType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void ManifestType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // ManifestType + // + + ManifestType:: + ManifestType () + : ::xml_schema::type (), + Reference_ (this), + Id_ (this) + { + } + + ManifestType:: + ManifestType (const ManifestType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Reference_ (x.Reference_, f, this), + Id_ (x.Id_, f, this) + { + } + + ManifestType:: + ManifestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Reference_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void ManifestType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Reference + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Reference_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< Reference_type > r ( + dynamic_cast< Reference_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Reference_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + ManifestType* ManifestType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ManifestType (*this, f, c); + } + + ManifestType& ManifestType:: + operator= (const ManifestType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Reference_ = x.Reference_; + this->Id_ = x.Id_; + } + + return *this; + } + + ManifestType:: + ~ManifestType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ManifestType > + _xsd_ManifestType_type_factory_init ( + "ManifestType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const ManifestType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Reference + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (ManifestType::Reference_const_iterator + b (i.Reference ().begin ()), n (i.Reference ().end ()); + b != n; ++b) + { + if (typeid (ManifestType::Reference_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ManifestType > + _xsd_ManifestType_type_serializer_init ( + "ManifestType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ManifestType.hxx b/oadrsd/oadrsd/2b/ManifestType.hxx new file mode 100644 index 0000000..4d405b9 --- /dev/null +++ b/oadrsd/oadrsd/2b/ManifestType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef MANIFEST_TYPE_HXX +#define MANIFEST_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class ManifestType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class ReferenceType; + } +} + +namespace oadr2b +{ + namespace sig + { + class ManifestType: public ::xml_schema::type + { + public: + // Reference + // + typedef ::oadr2b::sig::ReferenceType Reference_type; + typedef ::xsd::cxx::tree::sequence< Reference_type > Reference_sequence; + typedef Reference_sequence::iterator Reference_iterator; + typedef Reference_sequence::const_iterator Reference_const_iterator; + typedef ::xsd::cxx::tree::traits< Reference_type, char > Reference_traits; + + const Reference_sequence& + Reference () const; + + Reference_sequence& + Reference (); + + void + Reference (const Reference_sequence& s); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + ManifestType (); + + ManifestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ManifestType (const ManifestType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ManifestType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ManifestType& + operator= (const ManifestType& x); + + virtual + ~ManifestType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Reference_sequence Reference_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const ManifestType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // MANIFEST_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/MarketContextType.cxx b/oadrsd/oadrsd/2b/MarketContextType.cxx new file mode 100644 index 0000000..43eb9dc --- /dev/null +++ b/oadrsd/oadrsd/2b/MarketContextType.cxx @@ -0,0 +1,190 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MarketContextType.hxx" + +namespace oadr2b +{ + namespace emix + { + // MarketContextType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + // MarketContextType + // + + MarketContextType:: + MarketContextType (const ::xml_schema::uri& _xsd_uri_base) + : ::xml_schema::uri (_xsd_uri_base) + { + } + + MarketContextType:: + MarketContextType (const MarketContextType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (x, f, c) + { + } + + MarketContextType:: + MarketContextType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (e, f, c) + { + } + + MarketContextType:: + MarketContextType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (a, f, c) + { + } + + MarketContextType:: + MarketContextType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (s, e, f, c) + { + } + + MarketContextType* MarketContextType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MarketContextType (*this, f, c); + } + + MarketContextType:: + ~MarketContextType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, MarketContextType > + _xsd_MarketContextType_type_factory_init ( + "MarketContextType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement& e, const MarketContextType& i) + { + e << static_cast< const ::xml_schema::uri& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const MarketContextType& i) + { + a << static_cast< const ::xml_schema::uri& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const MarketContextType& i) + { + l << static_cast< const ::xml_schema::uri& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, MarketContextType > + _xsd_MarketContextType_type_serializer_init ( + "MarketContextType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MarketContextType.hxx b/oadrsd/oadrsd/2b/MarketContextType.hxx new file mode 100644 index 0000000..d0e3075 --- /dev/null +++ b/oadrsd/oadrsd/2b/MarketContextType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef MARKET_CONTEXT_TYPE_HXX +#define MARKET_CONTEXT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace emix + { + class MarketContextType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + class MarketContextType: public ::xml_schema::uri + { + public: + // Constructors. + // + MarketContextType (const ::xml_schema::uri&); + + MarketContextType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MarketContextType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MarketContextType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MarketContextType (const MarketContextType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MarketContextType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~MarketContextType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement&, const MarketContextType&); + + void + operator<< (::xercesc::DOMAttr&, const MarketContextType&); + + void + operator<< (::xml_schema::list_stream&, + const MarketContextType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // MARKET_CONTEXT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/MeasurementKind.cxx b/oadrsd/oadrsd/2b/MeasurementKind.cxx new file mode 100644 index 0000000..dbf65b8 --- /dev/null +++ b/oadrsd/oadrsd/2b/MeasurementKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MeasurementKind.hxx" + +namespace espi +{ + // MeasurementKind + // + + MeasurementKind:: + MeasurementKind (const char* s) + : ::xml_schema::string (s) + { + } + + MeasurementKind:: + MeasurementKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + MeasurementKind:: + MeasurementKind (const MeasurementKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // MeasurementKind + // + + MeasurementKind:: + MeasurementKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + MeasurementKind:: + MeasurementKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + MeasurementKind:: + MeasurementKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + MeasurementKind* MeasurementKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MeasurementKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, MeasurementKind > + _xsd_MeasurementKind_type_factory_init ( + "MeasurementKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const MeasurementKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const MeasurementKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const MeasurementKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, MeasurementKind > + _xsd_MeasurementKind_type_serializer_init ( + "MeasurementKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MeasurementKind.hxx b/oadrsd/oadrsd/2b/MeasurementKind.hxx new file mode 100644 index 0000000..8070421 --- /dev/null +++ b/oadrsd/oadrsd/2b/MeasurementKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef MEASUREMENT_KIND_HXX +#define MEASUREMENT_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class MeasurementKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class MeasurementKind: public ::xml_schema::string + { + public: + + MeasurementKind (const char* v); + + MeasurementKind (const ::std::string& v); + + MeasurementKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind (const MeasurementKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MeasurementKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const MeasurementKind&); + + void + operator<< (::xercesc::DOMAttr&, const MeasurementKind&); + + void + operator<< (::xml_schema::list_stream&, + const MeasurementKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // MEASUREMENT_KIND_HXX diff --git a/oadrsd/oadrsd/2b/MeasurementKind_member.cxx b/oadrsd/oadrsd/2b/MeasurementKind_member.cxx new file mode 100644 index 0000000..217c3c6 --- /dev/null +++ b/oadrsd/oadrsd/2b/MeasurementKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MeasurementKind_member.hxx" + +namespace espi +{ + // MeasurementKind_member + // + + MeasurementKind_member:: + MeasurementKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + MeasurementKind_member:: + MeasurementKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + MeasurementKind_member:: + MeasurementKind_member (const MeasurementKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // MeasurementKind_member + // + + MeasurementKind_member:: + MeasurementKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + MeasurementKind_member:: + MeasurementKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + MeasurementKind_member:: + MeasurementKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + MeasurementKind_member* MeasurementKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MeasurementKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const MeasurementKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const MeasurementKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const MeasurementKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MeasurementKind_member.hxx b/oadrsd/oadrsd/2b/MeasurementKind_member.hxx new file mode 100644 index 0000000..2b8a13d --- /dev/null +++ b/oadrsd/oadrsd/2b/MeasurementKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef MEASUREMENT_KIND_MEMBER_HXX +#define MEASUREMENT_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class MeasurementKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class MeasurementKind_member: public ::espi::UInt16 + { + public: + MeasurementKind_member (::xml_schema::unsigned_short v); + + MeasurementKind_member (const ::espi::UInt16& v); + + MeasurementKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeasurementKind_member (const MeasurementKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MeasurementKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const MeasurementKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const MeasurementKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const MeasurementKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // MEASUREMENT_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/MeterAssetType.cxx b/oadrsd/oadrsd/2b/MeterAssetType.cxx new file mode 100644 index 0000000..09b2349 --- /dev/null +++ b/oadrsd/oadrsd/2b/MeterAssetType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MeterAssetType.hxx" + +#include "MridType.hxx" + +namespace power +{ + // MeterAssetType + // + + const MeterAssetType::mrid_type& MeterAssetType:: + mrid () const + { + return this->mrid_.get (); + } + + MeterAssetType::mrid_type& MeterAssetType:: + mrid () + { + return this->mrid_.get (); + } + + void MeterAssetType:: + mrid (const mrid_type& x) + { + this->mrid_.set (x); + } + + void MeterAssetType:: + mrid (::std::auto_ptr< mrid_type > x) + { + this->mrid_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // MeterAssetType + // + + MeterAssetType:: + MeterAssetType (const mrid_type& mrid) + : ::xml_schema::type (), + mrid_ (mrid, this) + { + } + + MeterAssetType:: + MeterAssetType (::std::auto_ptr< mrid_type > mrid) + : ::xml_schema::type (), + mrid_ (mrid, this) + { + } + + MeterAssetType:: + MeterAssetType (const MeterAssetType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + mrid_ (x.mrid_, f, this) + { + } + + MeterAssetType:: + MeterAssetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + mrid_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void MeterAssetType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // mrid + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< mrid_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!mrid_.present ()) + { + ::std::auto_ptr< mrid_type > r ( + dynamic_cast< mrid_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->mrid_.set (r); + continue; + } + } + } + + break; + } + + if (!mrid_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + MeterAssetType* MeterAssetType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MeterAssetType (*this, f, c); + } + + MeterAssetType& MeterAssetType:: + operator= (const MeterAssetType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->mrid_ = x.mrid_; + } + + return *this; + } + + MeterAssetType:: + ~MeterAssetType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, MeterAssetType > + _xsd_MeterAssetType_type_factory_init ( + "MeterAssetType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const MeterAssetType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // mrid + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const MeterAssetType::mrid_type& x (i.mrid ()); + if (typeid (MeterAssetType::mrid_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, MeterAssetType > + _xsd_MeterAssetType_type_serializer_init ( + "MeterAssetType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MeterAssetType.hxx b/oadrsd/oadrsd/2b/MeterAssetType.hxx new file mode 100644 index 0000000..61261ad --- /dev/null +++ b/oadrsd/oadrsd/2b/MeterAssetType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef METER_ASSET_TYPE_HXX +#define METER_ASSET_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class MeterAssetType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class MridType; +} + +namespace power +{ + class MeterAssetType: public ::xml_schema::type + { + public: + // mrid + // + typedef ::power::MridType mrid_type; + typedef ::xsd::cxx::tree::traits< mrid_type, char > mrid_traits; + + const mrid_type& + mrid () const; + + mrid_type& + mrid (); + + void + mrid (const mrid_type& x); + + void + mrid (::std::auto_ptr< mrid_type > p); + + // Constructors. + // + MeterAssetType (const mrid_type&); + + MeterAssetType (::std::auto_ptr< mrid_type >); + + MeterAssetType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeterAssetType (const MeterAssetType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MeterAssetType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + MeterAssetType& + operator= (const MeterAssetType& x); + + virtual + ~MeterAssetType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< mrid_type > mrid_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const MeterAssetType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // METER_ASSET_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/MeterReading.cxx b/oadrsd/oadrsd/2b/MeterReading.cxx new file mode 100644 index 0000000..1beeff9 --- /dev/null +++ b/oadrsd/oadrsd/2b/MeterReading.cxx @@ -0,0 +1,148 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MeterReading.hxx" + +namespace espi +{ + // MeterReading + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // MeterReading + // + + MeterReading:: + MeterReading () + : ::espi::IdentifiedObject () + { + } + + MeterReading:: + MeterReading (const MeterReading& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c) + { + } + + MeterReading:: + MeterReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f, c) + { + } + + MeterReading* MeterReading:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MeterReading (*this, f, c); + } + + MeterReading:: + ~MeterReading () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, MeterReading > + _xsd_MeterReading_type_factory_init ( + "MeterReading", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const MeterReading& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, MeterReading > + _xsd_MeterReading_type_serializer_init ( + "MeterReading", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MeterReading.hxx b/oadrsd/oadrsd/2b/MeterReading.hxx new file mode 100644 index 0000000..4df9dba --- /dev/null +++ b/oadrsd/oadrsd/2b/MeterReading.hxx @@ -0,0 +1,330 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef METER_READING_HXX +#define METER_READING_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class MeterReading; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class MeterReading: public ::espi::IdentifiedObject + { + public: + // Constructors. + // + MeterReading (); + + MeterReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MeterReading (const MeterReading& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MeterReading* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~MeterReading (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const MeterReading&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // METER_READING_HXX diff --git a/oadrsd/oadrsd/2b/MridType.cxx b/oadrsd/oadrsd/2b/MridType.cxx new file mode 100644 index 0000000..dfa7e53 --- /dev/null +++ b/oadrsd/oadrsd/2b/MridType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "MridType.hxx" + +namespace power +{ + // MridType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // MridType + // + + MridType:: + MridType () + : ::xml_schema::string () + { + } + + MridType:: + MridType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + MridType:: + MridType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + MridType:: + MridType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + MridType:: + MridType (const MridType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + MridType:: + MridType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + MridType:: + MridType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + MridType:: + MridType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + MridType* MridType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class MridType (*this, f, c); + } + + MridType:: + ~MridType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, MridType > + _xsd_MridType_type_factory_init ( + "MridType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const MridType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const MridType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const MridType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, MridType > + _xsd_MridType_type_serializer_init ( + "MridType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/MridType.hxx b/oadrsd/oadrsd/2b/MridType.hxx new file mode 100644 index 0000000..7025c90 --- /dev/null +++ b/oadrsd/oadrsd/2b/MridType.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef MRID_TYPE_HXX +#define MRID_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class MridType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class MridType: public ::xml_schema::string + { + public: + // Constructors. + // + MridType (); + + MridType (const char*); + + MridType (const ::std::string&); + + MridType (const ::xml_schema::string&); + + MridType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MridType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MridType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + MridType (const MridType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual MridType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~MridType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const MridType&); + + void + operator<< (::xercesc::DOMAttr&, const MridType&); + + void + operator<< (::xml_schema::list_stream&, + const MridType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // MRID_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/NamedCurveType.cxx b/oadrsd/oadrsd/2b/NamedCurveType.cxx new file mode 100644 index 0000000..45967bf --- /dev/null +++ b/oadrsd/oadrsd/2b/NamedCurveType.cxx @@ -0,0 +1,241 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "NamedCurveType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // NamedCurveType + // + + const NamedCurveType::URI_type& NamedCurveType:: + URI () const + { + return this->URI_.get (); + } + + NamedCurveType::URI_type& NamedCurveType:: + URI () + { + return this->URI_.get (); + } + + void NamedCurveType:: + URI (const URI_type& x) + { + this->URI_.set (x); + } + + void NamedCurveType:: + URI (::std::auto_ptr< URI_type > x) + { + this->URI_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // NamedCurveType + // + + NamedCurveType:: + NamedCurveType (const URI_type& URI) + : ::xml_schema::type (), + URI_ (URI, this) + { + } + + NamedCurveType:: + NamedCurveType (const NamedCurveType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + URI_ (x.URI_, f, this) + { + } + + NamedCurveType:: + NamedCurveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + URI_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void NamedCurveType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "URI" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->URI_.set (URI_traits::create (i, f, this)); + continue; + } + } + + if (!URI_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "URI", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + NamedCurveType* NamedCurveType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class NamedCurveType (*this, f, c); + } + + NamedCurveType& NamedCurveType:: + operator= (const NamedCurveType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->URI_ = x.URI_; + } + + return *this; + } + + NamedCurveType:: + ~NamedCurveType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, NamedCurveType > + _xsd_NamedCurveType_type_factory_init ( + "NamedCurveType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const NamedCurveType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // URI + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "URI", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << i.URI (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, NamedCurveType > + _xsd_NamedCurveType_type_serializer_init ( + "NamedCurveType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/NamedCurveType.hxx b/oadrsd/oadrsd/2b/NamedCurveType.hxx new file mode 100644 index 0000000..461c360 --- /dev/null +++ b/oadrsd/oadrsd/2b/NamedCurveType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef NAMED_CURVE_TYPE_HXX +#define NAMED_CURVE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class NamedCurveType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class NamedCurveType: public ::xml_schema::type + { + public: + // URI + // + typedef ::xml_schema::uri URI_type; + typedef ::xsd::cxx::tree::traits< URI_type, char > URI_traits; + + const URI_type& + URI () const; + + URI_type& + URI (); + + void + URI (const URI_type& x); + + void + URI (::std::auto_ptr< URI_type > p); + + // Constructors. + // + NamedCurveType (const URI_type&); + + NamedCurveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + NamedCurveType (const NamedCurveType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual NamedCurveType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + NamedCurveType& + operator= (const NamedCurveType& x); + + virtual + ~NamedCurveType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< URI_type > URI_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const NamedCurveType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // NAMED_CURVE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/NodeType.cxx b/oadrsd/oadrsd/2b/NodeType.cxx new file mode 100644 index 0000000..0923b4c --- /dev/null +++ b/oadrsd/oadrsd/2b/NodeType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "NodeType.hxx" + +namespace power +{ + // NodeType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // NodeType + // + + NodeType:: + NodeType () + : ::xml_schema::string () + { + } + + NodeType:: + NodeType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + NodeType:: + NodeType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + NodeType:: + NodeType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + NodeType:: + NodeType (const NodeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + NodeType:: + NodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + NodeType:: + NodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + NodeType:: + NodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + NodeType* NodeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class NodeType (*this, f, c); + } + + NodeType:: + ~NodeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, NodeType > + _xsd_NodeType_type_factory_init ( + "NodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const NodeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const NodeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const NodeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, NodeType > + _xsd_NodeType_type_serializer_init ( + "NodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/NodeType.hxx b/oadrsd/oadrsd/2b/NodeType.hxx new file mode 100644 index 0000000..23c69be --- /dev/null +++ b/oadrsd/oadrsd/2b/NodeType.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef NODE_TYPE_HXX +#define NODE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class NodeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class NodeType: public ::xml_schema::string + { + public: + // Constructors. + // + NodeType (); + + NodeType (const char*); + + NodeType (const ::std::string&); + + NodeType (const ::xml_schema::string&); + + NodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + NodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + NodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + NodeType (const NodeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual NodeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~NodeType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const NodeType&); + + void + operator<< (::xercesc::DOMAttr&, const NodeType&); + + void + operator<< (::xml_schema::list_stream&, + const NodeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // NODE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/NonceValueType.cxx b/oadrsd/oadrsd/2b/NonceValueType.cxx new file mode 100644 index 0000000..a99d7b4 --- /dev/null +++ b/oadrsd/oadrsd/2b/NonceValueType.cxx @@ -0,0 +1,261 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "NonceValueType.hxx" + +namespace oadr2b +{ + namespace dsp + { + // NonceValueType + // + + const NonceValueType::EncodingType_optional& NonceValueType:: + EncodingType () const + { + return this->EncodingType_; + } + + NonceValueType::EncodingType_optional& NonceValueType:: + EncodingType () + { + return this->EncodingType_; + } + + void NonceValueType:: + EncodingType (const EncodingType_type& x) + { + this->EncodingType_.set (x); + } + + void NonceValueType:: + EncodingType (const EncodingType_optional& x) + { + this->EncodingType_ = x; + } + + void NonceValueType:: + EncodingType (::std::auto_ptr< EncodingType_type > x) + { + this->EncodingType_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + // NonceValueType + // + + NonceValueType:: + NonceValueType () + : ::xml_schema::string (), + EncodingType_ (this) + { + } + + NonceValueType:: + NonceValueType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + EncodingType_ (this) + { + } + + NonceValueType:: + NonceValueType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + EncodingType_ (this) + { + } + + NonceValueType:: + NonceValueType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + EncodingType_ (this) + { + } + + NonceValueType:: + NonceValueType (const NonceValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c), + EncodingType_ (x.EncodingType_, f, this) + { + } + + NonceValueType:: + NonceValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f | ::xml_schema::flags::base, c), + EncodingType_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void NonceValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "EncodingType" && n.namespace_ ().empty ()) + { + this->EncodingType_.set (EncodingType_traits::create (i, f, this)); + continue; + } + } + } + + NonceValueType* NonceValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class NonceValueType (*this, f, c); + } + + NonceValueType& NonceValueType:: + operator= (const NonceValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::string& > (*this) = x; + this->EncodingType_ = x.EncodingType_; + } + + return *this; + } + + NonceValueType:: + ~NonceValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, NonceValueType > + _xsd_NonceValueType_type_factory_init ( + "NonceValueType", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + void + operator<< (::xercesc::DOMElement& e, const NonceValueType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + + // EncodingType + // + if (i.EncodingType ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "EncodingType", + e)); + + a << *i.EncodingType (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, NonceValueType > + _xsd_NonceValueType_type_serializer_init ( + "NonceValueType", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/NonceValueType.hxx b/oadrsd/oadrsd/2b/NonceValueType.hxx new file mode 100644 index 0000000..41720b4 --- /dev/null +++ b/oadrsd/oadrsd/2b/NonceValueType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef NONCE_VALUE_TYPE_HXX +#define NONCE_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsp + { + class NonceValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsp + { + class NonceValueType: public ::xml_schema::string + { + public: + // EncodingType + // + typedef ::xml_schema::uri EncodingType_type; + typedef ::xsd::cxx::tree::optional< EncodingType_type > EncodingType_optional; + typedef ::xsd::cxx::tree::traits< EncodingType_type, char > EncodingType_traits; + + const EncodingType_optional& + EncodingType () const; + + EncodingType_optional& + EncodingType (); + + void + EncodingType (const EncodingType_type& x); + + void + EncodingType (const EncodingType_optional& x); + + void + EncodingType (::std::auto_ptr< EncodingType_type > p); + + // Constructors. + // + NonceValueType (); + + NonceValueType (const char*); + + NonceValueType (const ::std::string&); + + NonceValueType (const ::xml_schema::string&); + + NonceValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + NonceValueType (const NonceValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual NonceValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + NonceValueType& + operator= (const NonceValueType& x); + + virtual + ~NonceValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + EncodingType_optional EncodingType_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsp + { + void + operator<< (::xercesc::DOMElement&, const NonceValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // NONCE_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/Object.cxx b/oadrsd/oadrsd/2b/Object.cxx new file mode 100644 index 0000000..e6352fc --- /dev/null +++ b/oadrsd/oadrsd/2b/Object.cxx @@ -0,0 +1,253 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Object.hxx" + +namespace espi +{ + // Object + // + + const Object::extension_sequence& Object:: + extension () const + { + return this->extension_; + } + + Object::extension_sequence& Object:: + extension () + { + return this->extension_; + } + + void Object:: + extension (const extension_sequence& s) + { + this->extension_ = s; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // Object + // + + Object:: + Object () + : ::xml_schema::type (), + extension_ (this) + { + } + + Object:: + Object (const Object& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + extension_ (x.extension_, f, this) + { + } + + Object:: + Object (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + extension_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void Object:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // extension + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "extension", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< extension_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< extension_type > r ( + dynamic_cast< extension_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->extension_.push_back (r); + continue; + } + } + + break; + } + } + + Object* Object:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Object (*this, f, c); + } + + Object& Object:: + operator= (const Object& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->extension_ = x.extension_; + } + + return *this; + } + + Object:: + ~Object () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, Object > + _xsd_Object_type_factory_init ( + "Object", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const Object& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // extension + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (Object::extension_const_iterator + b (i.extension ().begin ()), n (i.extension ().end ()); + b != n; ++b) + { + if (typeid (Object::extension_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "extension", + "http://naesb.org/espi", + e)); + + s << *b; + } + else + tsm.serialize ( + "extension", + "http://naesb.org/espi", + false, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, Object > + _xsd_Object_type_serializer_init ( + "Object", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Object.hxx b/oadrsd/oadrsd/2b/Object.hxx new file mode 100644 index 0000000..fcc9008 --- /dev/null +++ b/oadrsd/oadrsd/2b/Object.hxx @@ -0,0 +1,358 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OBJECT_HXX +#define OBJECT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class Object; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class Object: public ::xml_schema::type + { + public: + // extension + // + typedef ::xml_schema::type extension_type; + typedef ::xsd::cxx::tree::sequence< extension_type > extension_sequence; + typedef extension_sequence::iterator extension_iterator; + typedef extension_sequence::const_iterator extension_const_iterator; + typedef ::xsd::cxx::tree::traits< extension_type, char > extension_traits; + + const extension_sequence& + extension () const; + + extension_sequence& + extension (); + + void + extension (const extension_sequence& s); + + // Constructors. + // + Object (); + + Object (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Object (const Object& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Object* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + Object& + operator= (const Object& x); + + virtual + ~Object (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + extension_sequence extension_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const Object&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OBJECT_HXX diff --git a/oadrsd/oadrsd/2b/ObjectType.cxx b/oadrsd/oadrsd/2b/ObjectType.cxx new file mode 100644 index 0000000..eb04982 --- /dev/null +++ b/oadrsd/oadrsd/2b/ObjectType.cxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ObjectType.hxx" + +namespace oadr2b +{ + namespace sig + { + // ObjectType + // + + const ObjectType::Id_optional& ObjectType:: + Id () const + { + return this->Id_; + } + + ObjectType::Id_optional& ObjectType:: + Id () + { + return this->Id_; + } + + void ObjectType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void ObjectType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void ObjectType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + + const ObjectType::MimeType_optional& ObjectType:: + MimeType () const + { + return this->MimeType_; + } + + ObjectType::MimeType_optional& ObjectType:: + MimeType () + { + return this->MimeType_; + } + + void ObjectType:: + MimeType (const MimeType_type& x) + { + this->MimeType_.set (x); + } + + void ObjectType:: + MimeType (const MimeType_optional& x) + { + this->MimeType_ = x; + } + + void ObjectType:: + MimeType (::std::auto_ptr< MimeType_type > x) + { + this->MimeType_.set (x); + } + + const ObjectType::Encoding_optional& ObjectType:: + Encoding () const + { + return this->Encoding_; + } + + ObjectType::Encoding_optional& ObjectType:: + Encoding () + { + return this->Encoding_; + } + + void ObjectType:: + Encoding (const Encoding_type& x) + { + this->Encoding_.set (x); + } + + void ObjectType:: + Encoding (const Encoding_optional& x) + { + this->Encoding_ = x; + } + + void ObjectType:: + Encoding (::std::auto_ptr< Encoding_type > x) + { + this->Encoding_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // ObjectType + // + + ObjectType:: + ObjectType () + : ::xml_schema::type (), + Id_ (this), + MimeType_ (this), + Encoding_ (this) + { + } + + ObjectType:: + ObjectType (const ObjectType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Id_ (x.Id_, f, this), + MimeType_ (x.MimeType_, f, this), + Encoding_ (x.Encoding_, f, this) + { + } + + ObjectType:: + ObjectType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Id_ (this), + MimeType_ (this), + Encoding_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void ObjectType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + + if (n.name () == "MimeType" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->MimeType_.set (MimeType_traits::create (i, f, this)); + continue; + } + + if (n.name () == "Encoding" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Encoding_.set (Encoding_traits::create (i, f, this)); + continue; + } + } + } + + ObjectType* ObjectType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ObjectType (*this, f, c); + } + + ObjectType& ObjectType:: + operator= (const ObjectType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Id_ = x.Id_; + this->MimeType_ = x.MimeType_; + this->Encoding_ = x.Encoding_; + } + + return *this; + } + + ObjectType:: + ~ObjectType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ObjectType > + _xsd_ObjectType_type_factory_init ( + "ObjectType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const ObjectType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + + // MimeType + // + if (i.MimeType ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "MimeType", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.MimeType (); + } + + // Encoding + // + if (i.Encoding ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Encoding", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Encoding (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ObjectType > + _xsd_ObjectType_type_serializer_init ( + "ObjectType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ObjectType.hxx b/oadrsd/oadrsd/2b/ObjectType.hxx new file mode 100644 index 0000000..31b0edd --- /dev/null +++ b/oadrsd/oadrsd/2b/ObjectType.hxx @@ -0,0 +1,418 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OBJECT_TYPE_HXX +#define OBJECT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class ObjectType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class ObjectType: public ::xml_schema::type + { + public: + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // MimeType + // + typedef ::xml_schema::string MimeType_type; + typedef ::xsd::cxx::tree::optional< MimeType_type > MimeType_optional; + typedef ::xsd::cxx::tree::traits< MimeType_type, char > MimeType_traits; + + const MimeType_optional& + MimeType () const; + + MimeType_optional& + MimeType (); + + void + MimeType (const MimeType_type& x); + + void + MimeType (const MimeType_optional& x); + + void + MimeType (::std::auto_ptr< MimeType_type > p); + + // Encoding + // + typedef ::xml_schema::uri Encoding_type; + typedef ::xsd::cxx::tree::optional< Encoding_type > Encoding_optional; + typedef ::xsd::cxx::tree::traits< Encoding_type, char > Encoding_traits; + + const Encoding_optional& + Encoding () const; + + Encoding_optional& + Encoding (); + + void + Encoding (const Encoding_type& x); + + void + Encoding (const Encoding_optional& x); + + void + Encoding (::std::auto_ptr< Encoding_type > p); + + // Constructors. + // + ObjectType (); + + ObjectType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ObjectType (const ObjectType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ObjectType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ObjectType& + operator= (const ObjectType& x); + + virtual + ~ObjectType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Id_optional Id_; + MimeType_optional MimeType_; + Encoding_optional Encoding_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const ObjectType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OBJECT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/OptReasonEnumeratedType.cxx b/oadrsd/oadrsd/2b/OptReasonEnumeratedType.cxx new file mode 100644 index 0000000..7db9b55 --- /dev/null +++ b/oadrsd/oadrsd/2b/OptReasonEnumeratedType.cxx @@ -0,0 +1,259 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "OptReasonEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // OptReasonEnumeratedType + // + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (value v) + : ::xml_schema::token (_xsd_OptReasonEnumeratedType_literals_[v]) + { + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const OptReasonEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + OptReasonEnumeratedType& OptReasonEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_OptReasonEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // OptReasonEnumeratedType + // + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_OptReasonEnumeratedType_convert (); + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_OptReasonEnumeratedType_convert (); + } + + OptReasonEnumeratedType:: + OptReasonEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_OptReasonEnumeratedType_convert (); + } + + OptReasonEnumeratedType* OptReasonEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class OptReasonEnumeratedType (*this, f, c); + } + + OptReasonEnumeratedType::value OptReasonEnumeratedType:: + _xsd_OptReasonEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_OptReasonEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_OptReasonEnumeratedType_indexes_, + _xsd_OptReasonEnumeratedType_indexes_ + 8, + *this, + c)); + + if (i == _xsd_OptReasonEnumeratedType_indexes_ + 8 || _xsd_OptReasonEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const OptReasonEnumeratedType:: + _xsd_OptReasonEnumeratedType_literals_[8] = + { + "economic", + "emergency", + "mustRun", + "notParticipating", + "outageRunStatus", + "overrideStatus", + "participating", + "x-schedule" + }; + + const OptReasonEnumeratedType::value OptReasonEnumeratedType:: + _xsd_OptReasonEnumeratedType_indexes_[8] = + { + ::oadr2b::ei::OptReasonEnumeratedType::economic, + ::oadr2b::ei::OptReasonEnumeratedType::emergency, + ::oadr2b::ei::OptReasonEnumeratedType::mustRun, + ::oadr2b::ei::OptReasonEnumeratedType::notParticipating, + ::oadr2b::ei::OptReasonEnumeratedType::outageRunStatus, + ::oadr2b::ei::OptReasonEnumeratedType::overrideStatus, + ::oadr2b::ei::OptReasonEnumeratedType::participating, + ::oadr2b::ei::OptReasonEnumeratedType::x_schedule + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, OptReasonEnumeratedType > + _xsd_OptReasonEnumeratedType_type_factory_init ( + "OptReasonEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const OptReasonEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const OptReasonEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const OptReasonEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, OptReasonEnumeratedType > + _xsd_OptReasonEnumeratedType_type_serializer_init ( + "OptReasonEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/OptReasonEnumeratedType.hxx b/oadrsd/oadrsd/2b/OptReasonEnumeratedType.hxx new file mode 100644 index 0000000..174adc5 --- /dev/null +++ b/oadrsd/oadrsd/2b/OptReasonEnumeratedType.hxx @@ -0,0 +1,386 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OPT_REASON_ENUMERATED_TYPE_HXX +#define OPT_REASON_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class OptReasonEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class OptReasonEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + economic, + emergency, + mustRun, + notParticipating, + outageRunStatus, + overrideStatus, + participating, + x_schedule + }; + + OptReasonEnumeratedType (value v); + + OptReasonEnumeratedType (const char* v); + + OptReasonEnumeratedType (const ::std::string& v); + + OptReasonEnumeratedType (const ::xml_schema::token& v); + + OptReasonEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonEnumeratedType (const OptReasonEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual OptReasonEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + OptReasonEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_OptReasonEnumeratedType_convert (); + } + + protected: + value + _xsd_OptReasonEnumeratedType_convert () const; + + public: + static const char* const _xsd_OptReasonEnumeratedType_literals_[8]; + static const value _xsd_OptReasonEnumeratedType_indexes_[8]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const OptReasonEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const OptReasonEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const OptReasonEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OPT_REASON_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/OptReasonType.cxx b/oadrsd/oadrsd/2b/OptReasonType.cxx new file mode 100644 index 0000000..d2e29fa --- /dev/null +++ b/oadrsd/oadrsd/2b/OptReasonType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "OptReasonType.hxx" + +namespace oadr2b +{ + namespace ei + { + // OptReasonType + // + + OptReasonType:: + OptReasonType (const char* s) + : ::xml_schema::string (s) + { + } + + OptReasonType:: + OptReasonType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + OptReasonType:: + OptReasonType (const OptReasonType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // OptReasonType + // + + OptReasonType:: + OptReasonType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + OptReasonType:: + OptReasonType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + OptReasonType:: + OptReasonType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + OptReasonType* OptReasonType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class OptReasonType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, OptReasonType > + _xsd_OptReasonType_type_factory_init ( + "OptReasonType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const OptReasonType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const OptReasonType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const OptReasonType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, OptReasonType > + _xsd_OptReasonType_type_serializer_init ( + "OptReasonType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/OptReasonType.hxx b/oadrsd/oadrsd/2b/OptReasonType.hxx new file mode 100644 index 0000000..b835298 --- /dev/null +++ b/oadrsd/oadrsd/2b/OptReasonType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OPT_REASON_TYPE_HXX +#define OPT_REASON_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class OptReasonType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class OptReasonType: public ::xml_schema::string + { + public: + + OptReasonType (const char* v); + + OptReasonType (const ::std::string& v); + + OptReasonType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptReasonType (const OptReasonType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual OptReasonType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const OptReasonType&); + + void + operator<< (::xercesc::DOMAttr&, const OptReasonType&); + + void + operator<< (::xml_schema::list_stream&, + const OptReasonType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OPT_REASON_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/OptTypeType.cxx b/oadrsd/oadrsd/2b/OptTypeType.cxx new file mode 100644 index 0000000..c216c0f --- /dev/null +++ b/oadrsd/oadrsd/2b/OptTypeType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "OptTypeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // OptTypeType + // + + OptTypeType:: + OptTypeType (value v) + : ::xml_schema::token (_xsd_OptTypeType_literals_[v]) + { + } + + OptTypeType:: + OptTypeType (const char* v) + : ::xml_schema::token (v) + { + } + + OptTypeType:: + OptTypeType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + OptTypeType:: + OptTypeType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + OptTypeType:: + OptTypeType (const OptTypeType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + OptTypeType& OptTypeType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_OptTypeType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // OptTypeType + // + + OptTypeType:: + OptTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_OptTypeType_convert (); + } + + OptTypeType:: + OptTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_OptTypeType_convert (); + } + + OptTypeType:: + OptTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_OptTypeType_convert (); + } + + OptTypeType* OptTypeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class OptTypeType (*this, f, c); + } + + OptTypeType::value OptTypeType:: + _xsd_OptTypeType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_OptTypeType_literals_); + const value* i (::std::lower_bound ( + _xsd_OptTypeType_indexes_, + _xsd_OptTypeType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_OptTypeType_indexes_ + 2 || _xsd_OptTypeType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const OptTypeType:: + _xsd_OptTypeType_literals_[2] = + { + "optIn", + "optOut" + }; + + const OptTypeType::value OptTypeType:: + _xsd_OptTypeType_indexes_[2] = + { + ::oadr2b::ei::OptTypeType::optIn, + ::oadr2b::ei::OptTypeType::optOut + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, OptTypeType > + _xsd_OptTypeType_type_factory_init ( + "OptTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const OptTypeType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const OptTypeType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const OptTypeType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, OptTypeType > + _xsd_OptTypeType_type_serializer_init ( + "OptTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/OptTypeType.hxx b/oadrsd/oadrsd/2b/OptTypeType.hxx new file mode 100644 index 0000000..c5a303b --- /dev/null +++ b/oadrsd/oadrsd/2b/OptTypeType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OPT_TYPE_TYPE_HXX +#define OPT_TYPE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class OptTypeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class OptTypeType: public ::xml_schema::token + { + public: + enum value + { + optIn, + optOut + }; + + OptTypeType (value v); + + OptTypeType (const char* v); + + OptTypeType (const ::std::string& v); + + OptTypeType (const ::xml_schema::token& v); + + OptTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + OptTypeType (const OptTypeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual OptTypeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + OptTypeType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_OptTypeType_convert (); + } + + protected: + value + _xsd_OptTypeType_convert () const; + + public: + static const char* const _xsd_OptTypeType_literals_[2]; + static const value _xsd_OptTypeType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const OptTypeType&); + + void + operator<< (::xercesc::DOMAttr&, const OptTypeType&); + + void + operator<< (::xml_schema::list_stream&, + const OptTypeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OPT_TYPE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PGPDataType.cxx b/oadrsd/oadrsd/2b/PGPDataType.cxx new file mode 100644 index 0000000..c8c01b4 --- /dev/null +++ b/oadrsd/oadrsd/2b/PGPDataType.cxx @@ -0,0 +1,368 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PGPDataType.hxx" + +namespace oadr2b +{ + namespace sig + { + // PGPDataType + // + + const PGPDataType::PGPKeyID_optional& PGPDataType:: + PGPKeyID () const + { + return this->PGPKeyID_; + } + + PGPDataType::PGPKeyID_optional& PGPDataType:: + PGPKeyID () + { + return this->PGPKeyID_; + } + + void PGPDataType:: + PGPKeyID (const PGPKeyID_type& x) + { + this->PGPKeyID_.set (x); + } + + void PGPDataType:: + PGPKeyID (const PGPKeyID_optional& x) + { + this->PGPKeyID_ = x; + } + + void PGPDataType:: + PGPKeyID (::std::auto_ptr< PGPKeyID_type > x) + { + this->PGPKeyID_.set (x); + } + + const PGPDataType::PGPKeyPacket_optional& PGPDataType:: + PGPKeyPacket () const + { + return this->PGPKeyPacket_; + } + + PGPDataType::PGPKeyPacket_optional& PGPDataType:: + PGPKeyPacket () + { + return this->PGPKeyPacket_; + } + + void PGPDataType:: + PGPKeyPacket (const PGPKeyPacket_type& x) + { + this->PGPKeyPacket_.set (x); + } + + void PGPDataType:: + PGPKeyPacket (const PGPKeyPacket_optional& x) + { + this->PGPKeyPacket_ = x; + } + + void PGPDataType:: + PGPKeyPacket (::std::auto_ptr< PGPKeyPacket_type > x) + { + this->PGPKeyPacket_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // PGPDataType + // + + PGPDataType:: + PGPDataType () + : ::xml_schema::type (), + PGPKeyID_ (this), + PGPKeyPacket_ (this) + { + } + + PGPDataType:: + PGPDataType (const PGPDataType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + PGPKeyID_ (x.PGPKeyID_, f, this), + PGPKeyPacket_ (x.PGPKeyPacket_, f, this) + { + } + + PGPDataType:: + PGPDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + PGPKeyID_ (this), + PGPKeyPacket_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PGPDataType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // PGPKeyID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PGPKeyID", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< PGPKeyID_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->PGPKeyID_) + { + ::std::auto_ptr< PGPKeyID_type > r ( + dynamic_cast< PGPKeyID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PGPKeyID_.set (r); + continue; + } + } + } + + // PGPKeyPacket + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PGPKeyPacket", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< PGPKeyPacket_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->PGPKeyPacket_) + { + ::std::auto_ptr< PGPKeyPacket_type > r ( + dynamic_cast< PGPKeyPacket_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->PGPKeyPacket_.set (r); + continue; + } + } + } + + break; + } + } + + PGPDataType* PGPDataType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PGPDataType (*this, f, c); + } + + PGPDataType& PGPDataType:: + operator= (const PGPDataType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->PGPKeyID_ = x.PGPKeyID_; + this->PGPKeyPacket_ = x.PGPKeyPacket_; + } + + return *this; + } + + PGPDataType:: + ~PGPDataType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PGPDataType > + _xsd_PGPDataType_type_factory_init ( + "PGPDataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const PGPDataType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // PGPKeyID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.PGPKeyID ()) + { + const PGPDataType::PGPKeyID_type& x (*i.PGPKeyID ()); + if (typeid (PGPDataType::PGPKeyID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PGPKeyID", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "PGPKeyID", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // PGPKeyPacket + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.PGPKeyPacket ()) + { + const PGPDataType::PGPKeyPacket_type& x (*i.PGPKeyPacket ()); + if (typeid (PGPDataType::PGPKeyPacket_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "PGPKeyPacket", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "PGPKeyPacket", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PGPDataType > + _xsd_PGPDataType_type_serializer_init ( + "PGPDataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PGPDataType.hxx b/oadrsd/oadrsd/2b/PGPDataType.hxx new file mode 100644 index 0000000..d0ac735 --- /dev/null +++ b/oadrsd/oadrsd/2b/PGPDataType.hxx @@ -0,0 +1,396 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PGPDATA_TYPE_HXX +#define PGPDATA_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class PGPDataType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class PGPDataType: public ::xml_schema::type + { + public: + // PGPKeyID + // + typedef ::xml_schema::base64_binary PGPKeyID_type; + typedef ::xsd::cxx::tree::optional< PGPKeyID_type > PGPKeyID_optional; + typedef ::xsd::cxx::tree::traits< PGPKeyID_type, char > PGPKeyID_traits; + + const PGPKeyID_optional& + PGPKeyID () const; + + PGPKeyID_optional& + PGPKeyID (); + + void + PGPKeyID (const PGPKeyID_type& x); + + void + PGPKeyID (const PGPKeyID_optional& x); + + void + PGPKeyID (::std::auto_ptr< PGPKeyID_type > p); + + // PGPKeyPacket + // + typedef ::xml_schema::base64_binary PGPKeyPacket_type; + typedef ::xsd::cxx::tree::optional< PGPKeyPacket_type > PGPKeyPacket_optional; + typedef ::xsd::cxx::tree::traits< PGPKeyPacket_type, char > PGPKeyPacket_traits; + + const PGPKeyPacket_optional& + PGPKeyPacket () const; + + PGPKeyPacket_optional& + PGPKeyPacket (); + + void + PGPKeyPacket (const PGPKeyPacket_type& x); + + void + PGPKeyPacket (const PGPKeyPacket_optional& x); + + void + PGPKeyPacket (::std::auto_ptr< PGPKeyPacket_type > p); + + // Constructors. + // + PGPDataType (); + + PGPDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PGPDataType (const PGPDataType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PGPDataType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PGPDataType& + operator= (const PGPDataType& x); + + virtual + ~PGPDataType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + PGPKeyID_optional PGPKeyID_; + PGPKeyPacket_optional PGPKeyPacket_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const PGPDataType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PGPDATA_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PayloadBaseType.cxx b/oadrsd/oadrsd/2b/PayloadBaseType.cxx new file mode 100644 index 0000000..6ad0710 --- /dev/null +++ b/oadrsd/oadrsd/2b/PayloadBaseType.cxx @@ -0,0 +1,188 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // PayloadBaseType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // PayloadBaseType + // + + PayloadBaseType:: + PayloadBaseType () + : ::xml_schema::type () + { + } + + PayloadBaseType:: + PayloadBaseType (const PayloadBaseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c) + { + } + + PayloadBaseType:: + PayloadBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f, c) + { + } + + PayloadBaseType:: + PayloadBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (a, f, c) + { + } + + PayloadBaseType:: + PayloadBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (s, e, f, c) + { + } + + PayloadBaseType* PayloadBaseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PayloadBaseType (*this, f, c); + } + + PayloadBaseType:: + ~PayloadBaseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PayloadBaseType > + _xsd_PayloadBaseType_type_factory_init ( + "PayloadBaseType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const PayloadBaseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const PayloadBaseType&) + { + } + + void + operator<< (::xml_schema::list_stream&, + const PayloadBaseType&) + { + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PayloadBaseType > + _xsd_PayloadBaseType_type_serializer_init ( + "PayloadBaseType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PayloadBaseType.hxx b/oadrsd/oadrsd/2b/PayloadBaseType.hxx new file mode 100644 index 0000000..540cfb4 --- /dev/null +++ b/oadrsd/oadrsd/2b/PayloadBaseType.hxx @@ -0,0 +1,356 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PAYLOAD_BASE_TYPE_HXX +#define PAYLOAD_BASE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class PayloadBaseType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class PayloadBaseType: public ::xml_schema::type + { + public: + // Constructors. + // + PayloadBaseType (); + + PayloadBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PayloadBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PayloadBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PayloadBaseType (const PayloadBaseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PayloadBaseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~PayloadBaseType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const PayloadBaseType&); + + void + operator<< (::xercesc::DOMAttr&, const PayloadBaseType&); + + void + operator<< (::xml_schema::list_stream&, + const PayloadBaseType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PAYLOAD_BASE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PayloadFloatType.cxx b/oadrsd/oadrsd/2b/PayloadFloatType.cxx new file mode 100644 index 0000000..59d7efd --- /dev/null +++ b/oadrsd/oadrsd/2b/PayloadFloatType.cxx @@ -0,0 +1,242 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PayloadFloatType.hxx" + +namespace oadr2b +{ + namespace ei + { + // PayloadFloatType + // + + const PayloadFloatType::value_type& PayloadFloatType:: + value () const + { + return this->value_.get (); + } + + PayloadFloatType::value_type& PayloadFloatType:: + value () + { + return this->value_.get (); + } + + void PayloadFloatType:: + value (const value_type& x) + { + this->value_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // PayloadFloatType + // + + PayloadFloatType:: + PayloadFloatType (const value_type& value) + : ::oadr2b::ei::PayloadBaseType (), + value_ (value, this) + { + } + + PayloadFloatType:: + PayloadFloatType (const PayloadFloatType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::PayloadBaseType (x, f, c), + value_ (x.value_, f, this) + { + } + + PayloadFloatType:: + PayloadFloatType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::PayloadBaseType (e, f | ::xml_schema::flags::base, c), + value_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PayloadFloatType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // value + // + if (n.name () == "value" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + if (!value_.present ()) + { + this->value_.set (value_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!value_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "value", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + PayloadFloatType* PayloadFloatType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PayloadFloatType (*this, f, c); + } + + PayloadFloatType& PayloadFloatType:: + operator= (const PayloadFloatType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::ei::PayloadBaseType& > (*this) = x; + this->value_ = x.value_; + } + + return *this; + } + + PayloadFloatType:: + ~PayloadFloatType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PayloadFloatType > + _xsd_PayloadFloatType_type_factory_init ( + "PayloadFloatType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const PayloadFloatType& i) + { + e << static_cast< const ::oadr2b::ei::PayloadBaseType& > (i); + + // value + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "value", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << i.value (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PayloadFloatType > + _xsd_PayloadFloatType_type_serializer_init ( + "PayloadFloatType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PayloadFloatType.hxx b/oadrsd/oadrsd/2b/PayloadFloatType.hxx new file mode 100644 index 0000000..428511f --- /dev/null +++ b/oadrsd/oadrsd/2b/PayloadFloatType.hxx @@ -0,0 +1,369 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PAYLOAD_FLOAT_TYPE_HXX +#define PAYLOAD_FLOAT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class PayloadFloatType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "PayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + class PayloadFloatType: public ::oadr2b::ei::PayloadBaseType + { + public: + // value + // + typedef ::xml_schema::float_ value_type; + typedef ::xsd::cxx::tree::traits< value_type, char > value_traits; + + const value_type& + value () const; + + value_type& + value (); + + void + value (const value_type& x); + + // Constructors. + // + PayloadFloatType (const value_type&); + + PayloadFloatType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PayloadFloatType (const PayloadFloatType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PayloadFloatType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PayloadFloatType& + operator= (const PayloadFloatType& x); + + virtual + ~PayloadFloatType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< value_type > value_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const PayloadFloatType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PAYLOAD_FLOAT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PhaseCodeKind.cxx b/oadrsd/oadrsd/2b/PhaseCodeKind.cxx new file mode 100644 index 0000000..646c595 --- /dev/null +++ b/oadrsd/oadrsd/2b/PhaseCodeKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PhaseCodeKind.hxx" + +namespace espi +{ + // PhaseCodeKind + // + + PhaseCodeKind:: + PhaseCodeKind (const char* s) + : ::xml_schema::string (s) + { + } + + PhaseCodeKind:: + PhaseCodeKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + PhaseCodeKind:: + PhaseCodeKind (const PhaseCodeKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // PhaseCodeKind + // + + PhaseCodeKind:: + PhaseCodeKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + PhaseCodeKind:: + PhaseCodeKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + PhaseCodeKind:: + PhaseCodeKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + PhaseCodeKind* PhaseCodeKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PhaseCodeKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PhaseCodeKind > + _xsd_PhaseCodeKind_type_factory_init ( + "PhaseCodeKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const PhaseCodeKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const PhaseCodeKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const PhaseCodeKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PhaseCodeKind > + _xsd_PhaseCodeKind_type_serializer_init ( + "PhaseCodeKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PhaseCodeKind.hxx b/oadrsd/oadrsd/2b/PhaseCodeKind.hxx new file mode 100644 index 0000000..e7c7547 --- /dev/null +++ b/oadrsd/oadrsd/2b/PhaseCodeKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PHASE_CODE_KIND_HXX +#define PHASE_CODE_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class PhaseCodeKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class PhaseCodeKind: public ::xml_schema::string + { + public: + + PhaseCodeKind (const char* v); + + PhaseCodeKind (const ::std::string& v); + + PhaseCodeKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind (const PhaseCodeKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PhaseCodeKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const PhaseCodeKind&); + + void + operator<< (::xercesc::DOMAttr&, const PhaseCodeKind&); + + void + operator<< (::xml_schema::list_stream&, + const PhaseCodeKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PHASE_CODE_KIND_HXX diff --git a/oadrsd/oadrsd/2b/PhaseCodeKind_member.cxx b/oadrsd/oadrsd/2b/PhaseCodeKind_member.cxx new file mode 100644 index 0000000..1778e70 --- /dev/null +++ b/oadrsd/oadrsd/2b/PhaseCodeKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PhaseCodeKind_member.hxx" + +namespace espi +{ + // PhaseCodeKind_member + // + + PhaseCodeKind_member:: + PhaseCodeKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + PhaseCodeKind_member:: + PhaseCodeKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + PhaseCodeKind_member:: + PhaseCodeKind_member (const PhaseCodeKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // PhaseCodeKind_member + // + + PhaseCodeKind_member:: + PhaseCodeKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + PhaseCodeKind_member:: + PhaseCodeKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + PhaseCodeKind_member:: + PhaseCodeKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + PhaseCodeKind_member* PhaseCodeKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PhaseCodeKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const PhaseCodeKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const PhaseCodeKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const PhaseCodeKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PhaseCodeKind_member.hxx b/oadrsd/oadrsd/2b/PhaseCodeKind_member.hxx new file mode 100644 index 0000000..9127c51 --- /dev/null +++ b/oadrsd/oadrsd/2b/PhaseCodeKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PHASE_CODE_KIND_MEMBER_HXX +#define PHASE_CODE_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class PhaseCodeKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class PhaseCodeKind_member: public ::espi::UInt16 + { + public: + PhaseCodeKind_member (::xml_schema::unsigned_short v); + + PhaseCodeKind_member (const ::espi::UInt16& v); + + PhaseCodeKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PhaseCodeKind_member (const PhaseCodeKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PhaseCodeKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const PhaseCodeKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const PhaseCodeKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const PhaseCodeKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PHASE_CODE_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/PnBFieldParamsType.cxx b/oadrsd/oadrsd/2b/PnBFieldParamsType.cxx new file mode 100644 index 0000000..1388d2f --- /dev/null +++ b/oadrsd/oadrsd/2b/PnBFieldParamsType.cxx @@ -0,0 +1,351 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PnBFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // PnBFieldParamsType + // + + const PnBFieldParamsType::K1_type& PnBFieldParamsType:: + K1 () const + { + return this->K1_.get (); + } + + PnBFieldParamsType::K1_type& PnBFieldParamsType:: + K1 () + { + return this->K1_.get (); + } + + void PnBFieldParamsType:: + K1 (const K1_type& x) + { + this->K1_.set (x); + } + + const PnBFieldParamsType::K2_type& PnBFieldParamsType:: + K2 () const + { + return this->K2_.get (); + } + + PnBFieldParamsType::K2_type& PnBFieldParamsType:: + K2 () + { + return this->K2_.get (); + } + + void PnBFieldParamsType:: + K2 (const K2_type& x) + { + this->K2_.set (x); + } + + const PnBFieldParamsType::K3_type& PnBFieldParamsType:: + K3 () const + { + return this->K3_.get (); + } + + PnBFieldParamsType::K3_type& PnBFieldParamsType:: + K3 () + { + return this->K3_.get (); + } + + void PnBFieldParamsType:: + K3 (const K3_type& x) + { + this->K3_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // PnBFieldParamsType + // + + PnBFieldParamsType:: + PnBFieldParamsType (const M_type& M, + const K1_type& K1, + const K2_type& K2, + const K3_type& K3) + : ::oadr2b::dsig11::CharTwoFieldParamsType (M), + K1_ (K1, this), + K2_ (K2, this), + K3_ (K3, this) + { + } + + PnBFieldParamsType:: + PnBFieldParamsType (const PnBFieldParamsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::dsig11::CharTwoFieldParamsType (x, f, c), + K1_ (x.K1_, f, this), + K2_ (x.K2_, f, this), + K3_ (x.K3_, f, this) + { + } + + PnBFieldParamsType:: + PnBFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::dsig11::CharTwoFieldParamsType (e, f | ::xml_schema::flags::base, c), + K1_ (this), + K2_ (this), + K3_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PnBFieldParamsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::oadr2b::dsig11::CharTwoFieldParamsType::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // K1 + // + if (n.name () == "K1" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!K1_.present ()) + { + this->K1_.set (K1_traits::create (i, f, this)); + continue; + } + } + + // K2 + // + if (n.name () == "K2" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!K2_.present ()) + { + this->K2_.set (K2_traits::create (i, f, this)); + continue; + } + } + + // K3 + // + if (n.name () == "K3" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!K3_.present ()) + { + this->K3_.set (K3_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!K1_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "K1", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!K2_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "K2", + "http://www.w3.org/2009/xmldsig11#"); + } + + if (!K3_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "K3", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + PnBFieldParamsType* PnBFieldParamsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PnBFieldParamsType (*this, f, c); + } + + PnBFieldParamsType& PnBFieldParamsType:: + operator= (const PnBFieldParamsType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::dsig11::CharTwoFieldParamsType& > (*this) = x; + this->K1_ = x.K1_; + this->K2_ = x.K2_; + this->K3_ = x.K3_; + } + + return *this; + } + + PnBFieldParamsType:: + ~PnBFieldParamsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PnBFieldParamsType > + _xsd_PnBFieldParamsType_type_factory_init ( + "PnBFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const PnBFieldParamsType& i) + { + e << static_cast< const ::oadr2b::dsig11::CharTwoFieldParamsType& > (i); + + // K1 + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "K1", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << i.K1 (); + } + + // K2 + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "K2", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << i.K2 (); + } + + // K3 + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "K3", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << i.K3 (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PnBFieldParamsType > + _xsd_PnBFieldParamsType_type_serializer_init ( + "PnBFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PnBFieldParamsType.hxx b/oadrsd/oadrsd/2b/PnBFieldParamsType.hxx new file mode 100644 index 0000000..8eb4d62 --- /dev/null +++ b/oadrsd/oadrsd/2b/PnBFieldParamsType.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PN_BFIELD_PARAMS_TYPE_HXX +#define PN_BFIELD_PARAMS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class PnBFieldParamsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "CharTwoFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + class PnBFieldParamsType: public ::oadr2b::dsig11::CharTwoFieldParamsType + { + public: + // K1 + // + typedef ::xml_schema::positive_integer K1_type; + typedef ::xsd::cxx::tree::traits< K1_type, char > K1_traits; + + const K1_type& + K1 () const; + + K1_type& + K1 (); + + void + K1 (const K1_type& x); + + // K2 + // + typedef ::xml_schema::positive_integer K2_type; + typedef ::xsd::cxx::tree::traits< K2_type, char > K2_traits; + + const K2_type& + K2 () const; + + K2_type& + K2 (); + + void + K2 (const K2_type& x); + + // K3 + // + typedef ::xml_schema::positive_integer K3_type; + typedef ::xsd::cxx::tree::traits< K3_type, char > K3_traits; + + const K3_type& + K3 () const; + + K3_type& + K3 (); + + void + K3 (const K3_type& x); + + // Constructors. + // + PnBFieldParamsType (const M_type&, + const K1_type&, + const K2_type&, + const K3_type&); + + PnBFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PnBFieldParamsType (const PnBFieldParamsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PnBFieldParamsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PnBFieldParamsType& + operator= (const PnBFieldParamsType& x); + + virtual + ~PnBFieldParamsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< K1_type > K1_; + ::xsd::cxx::tree::one< K2_type > K2_; + ::xsd::cxx::tree::one< K3_type > K3_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const PnBFieldParamsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PN_BFIELD_PARAMS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PnodeType.cxx b/oadrsd/oadrsd/2b/PnodeType.cxx new file mode 100644 index 0000000..db7df96 --- /dev/null +++ b/oadrsd/oadrsd/2b/PnodeType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PnodeType.hxx" + +#include "NodeType.hxx" + +namespace power +{ + // PnodeType + // + + const PnodeType::node_type& PnodeType:: + node () const + { + return this->node_.get (); + } + + PnodeType::node_type& PnodeType:: + node () + { + return this->node_.get (); + } + + void PnodeType:: + node (const node_type& x) + { + this->node_.set (x); + } + + void PnodeType:: + node (::std::auto_ptr< node_type > x) + { + this->node_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PnodeType + // + + PnodeType:: + PnodeType (const node_type& node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + PnodeType:: + PnodeType (::std::auto_ptr< node_type > node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + PnodeType:: + PnodeType (const PnodeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + node_ (x.node_, f, this) + { + } + + PnodeType:: + PnodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + node_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PnodeType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // node + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< node_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!node_.present ()) + { + ::std::auto_ptr< node_type > r ( + dynamic_cast< node_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->node_.set (r); + continue; + } + } + } + + break; + } + + if (!node_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + PnodeType* PnodeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PnodeType (*this, f, c); + } + + PnodeType& PnodeType:: + operator= (const PnodeType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->node_ = x.node_; + } + + return *this; + } + + PnodeType:: + ~PnodeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PnodeType > + _xsd_PnodeType_type_factory_init ( + "PnodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PnodeType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // node + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PnodeType::node_type& x (i.node ()); + if (typeid (PnodeType::node_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PnodeType > + _xsd_PnodeType_type_serializer_init ( + "PnodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PnodeType.hxx b/oadrsd/oadrsd/2b/PnodeType.hxx new file mode 100644 index 0000000..0737906 --- /dev/null +++ b/oadrsd/oadrsd/2b/PnodeType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PNODE_TYPE_HXX +#define PNODE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PnodeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class NodeType; +} + +namespace power +{ + class PnodeType: public ::xml_schema::type + { + public: + // node + // + typedef ::power::NodeType node_type; + typedef ::xsd::cxx::tree::traits< node_type, char > node_traits; + + const node_type& + node () const; + + node_type& + node (); + + void + node (const node_type& x); + + void + node (::std::auto_ptr< node_type > p); + + // Constructors. + // + PnodeType (const node_type&); + + PnodeType (::std::auto_ptr< node_type >); + + PnodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PnodeType (const PnodeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PnodeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PnodeType& + operator= (const PnodeType& x); + + virtual + ~PnodeType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< node_type > node_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PnodeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PNODE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/Polygon.cxx b/oadrsd/oadrsd/2b/Polygon.cxx new file mode 100644 index 0000000..6f8c1b7 --- /dev/null +++ b/oadrsd/oadrsd/2b/Polygon.cxx @@ -0,0 +1,309 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "Polygon.hxx" + +#include "exterior.hxx" + +namespace oadr2b +{ + namespace gml + { + // Polygon + // + + const Polygon::exterior_type& Polygon:: + exterior () const + { + return this->exterior_.get (); + } + + Polygon::exterior_type& Polygon:: + exterior () + { + return this->exterior_.get (); + } + + void Polygon:: + exterior (const exterior_type& x) + { + this->exterior_.set (x); + } + + void Polygon:: + exterior (::std::auto_ptr< exterior_type > x) + { + this->exterior_.set (x); + } + + const Polygon::id_optional& Polygon:: + id () const + { + return this->id_; + } + + Polygon::id_optional& Polygon:: + id () + { + return this->id_; + } + + void Polygon:: + id (const id_type& x) + { + this->id_.set (x); + } + + void Polygon:: + id (const id_optional& x) + { + this->id_ = x; + } + + void Polygon:: + id (::std::auto_ptr< id_type > x) + { + this->id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // Polygon + // + + Polygon:: + Polygon (const exterior_type& exterior) + : ::xml_schema::type (), + exterior_ (exterior, this), + id_ (this) + { + } + + Polygon:: + Polygon (::std::auto_ptr< exterior_type > exterior) + : ::xml_schema::type (), + exterior_ (exterior, this), + id_ (this) + { + } + + Polygon:: + Polygon (const Polygon& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + exterior_ (x.exterior_, f, this), + id_ (x.id_, f, this) + { + } + + Polygon:: + Polygon (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + exterior_ (this), + id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void Polygon:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // exterior + // + if (n.name () == "exterior" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< exterior_type > r ( + exterior_traits::create (i, f, this)); + + if (!exterior_.present ()) + { + this->exterior_.set (r); + continue; + } + } + + break; + } + + if (!exterior_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "exterior", + "http://www.opengis.net/gml/3.2"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "id" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + this->id_.set (id_traits::create (i, f, this)); + continue; + } + } + } + + Polygon* Polygon:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class Polygon (*this, f, c); + } + + Polygon& Polygon:: + operator= (const Polygon& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->exterior_ = x.exterior_; + this->id_ = x.id_; + } + + return *this; + } + + Polygon:: + ~Polygon () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const Polygon& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // exterior + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "exterior", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.exterior (); + } + + // id + // + if (i.id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "id", + "http://www.opengis.net/gml/3.2", + e)); + + a << *i.id (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/Polygon.hxx b/oadrsd/oadrsd/2b/Polygon.hxx new file mode 100644 index 0000000..0b059ba --- /dev/null +++ b/oadrsd/oadrsd/2b/Polygon.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POLYGON_HXX +#define POLYGON_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class Polygon; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class exterior; + } +} + +namespace oadr2b +{ + namespace gml + { + class Polygon: public ::xml_schema::type + { + public: + // exterior + // + typedef ::oadr2b::gml::exterior exterior_type; + typedef ::xsd::cxx::tree::traits< exterior_type, char > exterior_traits; + + const exterior_type& + exterior () const; + + exterior_type& + exterior (); + + void + exterior (const exterior_type& x); + + void + exterior (::std::auto_ptr< exterior_type > p); + + // id + // + typedef ::xml_schema::id id_type; + typedef ::xsd::cxx::tree::optional< id_type > id_optional; + typedef ::xsd::cxx::tree::traits< id_type, char > id_traits; + + const id_optional& + id () const; + + id_optional& + id (); + + void + id (const id_type& x); + + void + id (const id_optional& x); + + void + id (::std::auto_ptr< id_type > p); + + // Constructors. + // + Polygon (const exterior_type&); + + Polygon (::std::auto_ptr< exterior_type >); + + Polygon (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + Polygon (const Polygon& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual Polygon* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + Polygon& + operator= (const Polygon& x); + + virtual + ~Polygon (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< exterior_type > exterior_; + id_optional id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const Polygon&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POLYGON_HXX diff --git a/oadrsd/oadrsd/2b/PowerApparentType.cxx b/oadrsd/oadrsd/2b/PowerApparentType.cxx new file mode 100644 index 0000000..7757600 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerApparentType.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PowerApparentType.hxx" + +namespace power +{ + // PowerApparentType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PowerApparentType + // + + PowerApparentType:: + PowerApparentType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + const powerAttributes_type& powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerApparentType:: + PowerApparentType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerApparentType:: + PowerApparentType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerApparentType:: + PowerApparentType (const PowerApparentType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (x, f, c) + { + } + + PowerApparentType:: + PowerApparentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (e, f, c) + { + } + + PowerApparentType* PowerApparentType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PowerApparentType (*this, f, c); + } + + PowerApparentType:: + ~PowerApparentType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PowerApparentType > + _xsd_PowerApparentType_type_factory_init ( + "PowerApparentType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PowerApparentType& i) + { + e << static_cast< const ::power::PowerItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PowerApparentType > + _xsd_PowerApparentType_type_serializer_init ( + "PowerApparentType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PowerApparentType.hxx b/oadrsd/oadrsd/2b/PowerApparentType.hxx new file mode 100644 index 0000000..45b76b8 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerApparentType.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POWER_APPARENT_TYPE_HXX +#define POWER_APPARENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PowerApparentType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "PowerItemType.hxx" + +namespace power +{ + class PowerApparentType: public ::power::PowerItemType + { + public: + // Constructors. + // + PowerApparentType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + const powerAttributes_type&); + + PowerApparentType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + ::std::auto_ptr< powerAttributes_type >); + + PowerApparentType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >, + ::std::auto_ptr< powerAttributes_type >); + + PowerApparentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PowerApparentType (const PowerApparentType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PowerApparentType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~PowerApparentType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PowerApparentType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POWER_APPARENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PowerAttributesType.cxx b/oadrsd/oadrsd/2b/PowerAttributesType.cxx new file mode 100644 index 0000000..4706f02 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerAttributesType.cxx @@ -0,0 +1,336 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PowerAttributesType.hxx" + +namespace power +{ + // PowerAttributesType + // + + const PowerAttributesType::hertz_type& PowerAttributesType:: + hertz () const + { + return this->hertz_.get (); + } + + PowerAttributesType::hertz_type& PowerAttributesType:: + hertz () + { + return this->hertz_.get (); + } + + void PowerAttributesType:: + hertz (const hertz_type& x) + { + this->hertz_.set (x); + } + + const PowerAttributesType::voltage_type& PowerAttributesType:: + voltage () const + { + return this->voltage_.get (); + } + + PowerAttributesType::voltage_type& PowerAttributesType:: + voltage () + { + return this->voltage_.get (); + } + + void PowerAttributesType:: + voltage (const voltage_type& x) + { + this->voltage_.set (x); + } + + const PowerAttributesType::ac_type& PowerAttributesType:: + ac () const + { + return this->ac_.get (); + } + + PowerAttributesType::ac_type& PowerAttributesType:: + ac () + { + return this->ac_.get (); + } + + void PowerAttributesType:: + ac (const ac_type& x) + { + this->ac_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PowerAttributesType + // + + PowerAttributesType:: + PowerAttributesType (const hertz_type& hertz, + const voltage_type& voltage, + const ac_type& ac) + : ::xml_schema::type (), + hertz_ (hertz, this), + voltage_ (voltage, this), + ac_ (ac, this) + { + } + + PowerAttributesType:: + PowerAttributesType (const PowerAttributesType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + hertz_ (x.hertz_, f, this), + voltage_ (x.voltage_, f, this), + ac_ (x.ac_, f, this) + { + } + + PowerAttributesType:: + PowerAttributesType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + hertz_ (this), + voltage_ (this), + ac_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PowerAttributesType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // hertz + // + if (n.name () == "hertz" && n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + if (!hertz_.present ()) + { + this->hertz_.set (hertz_traits::create (i, f, this)); + continue; + } + } + + // voltage + // + if (n.name () == "voltage" && n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + if (!voltage_.present ()) + { + this->voltage_.set (voltage_traits::create (i, f, this)); + continue; + } + } + + // ac + // + if (n.name () == "ac" && n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + if (!ac_.present ()) + { + this->ac_.set (ac_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!hertz_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "hertz", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!voltage_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!ac_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "ac", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + PowerAttributesType* PowerAttributesType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PowerAttributesType (*this, f, c); + } + + PowerAttributesType& PowerAttributesType:: + operator= (const PowerAttributesType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->hertz_ = x.hertz_; + this->voltage_ = x.voltage_; + this->ac_ = x.ac_; + } + + return *this; + } + + PowerAttributesType:: + ~PowerAttributesType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PowerAttributesType > + _xsd_PowerAttributesType_type_factory_init ( + "PowerAttributesType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PowerAttributesType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // hertz + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "hertz", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << ::xml_schema::as_decimal(i.hertz ()); + } + + // voltage + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << ::xml_schema::as_decimal(i.voltage ()); + } + + // ac + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ac", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << i.ac (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PowerAttributesType > + _xsd_PowerAttributesType_type_serializer_init ( + "PowerAttributesType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PowerAttributesType.hxx b/oadrsd/oadrsd/2b/PowerAttributesType.hxx new file mode 100644 index 0000000..db405d7 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerAttributesType.hxx @@ -0,0 +1,387 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POWER_ATTRIBUTES_TYPE_HXX +#define POWER_ATTRIBUTES_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PowerAttributesType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class PowerAttributesType: public ::xml_schema::type + { + public: + // hertz + // + typedef ::xml_schema::decimal hertz_type; + typedef ::xsd::cxx::tree::traits< hertz_type, char, ::xsd::cxx::tree::schema_type::decimal > hertz_traits; + + const hertz_type& + hertz () const; + + hertz_type& + hertz (); + + void + hertz (const hertz_type& x); + + // voltage + // + typedef ::xml_schema::decimal voltage_type; + typedef ::xsd::cxx::tree::traits< voltage_type, char, ::xsd::cxx::tree::schema_type::decimal > voltage_traits; + + const voltage_type& + voltage () const; + + voltage_type& + voltage (); + + void + voltage (const voltage_type& x); + + // ac + // + typedef ::xml_schema::boolean ac_type; + typedef ::xsd::cxx::tree::traits< ac_type, char > ac_traits; + + const ac_type& + ac () const; + + ac_type& + ac (); + + void + ac (const ac_type& x); + + // Constructors. + // + PowerAttributesType (const hertz_type&, + const voltage_type&, + const ac_type&); + + PowerAttributesType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PowerAttributesType (const PowerAttributesType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PowerAttributesType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PowerAttributesType& + operator= (const PowerAttributesType& x); + + virtual + ~PowerAttributesType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< hertz_type > hertz_; + ::xsd::cxx::tree::one< voltage_type > voltage_; + ::xsd::cxx::tree::one< ac_type > ac_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PowerAttributesType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POWER_ATTRIBUTES_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PowerItemType.cxx b/oadrsd/oadrsd/2b/PowerItemType.cxx new file mode 100644 index 0000000..6bd6c54 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerItemType.cxx @@ -0,0 +1,559 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PowerItemType.hxx" + +#include "SiScaleCodeType.hxx" + +#include "PowerAttributesType.hxx" + +namespace power +{ + // PowerItemType + // + + const PowerItemType::itemDescription_type& PowerItemType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + PowerItemType::itemDescription_type& PowerItemType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void PowerItemType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void PowerItemType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const PowerItemType::itemUnits_type& PowerItemType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + PowerItemType::itemUnits_type& PowerItemType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void PowerItemType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void PowerItemType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const PowerItemType::siScaleCode_type& PowerItemType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + PowerItemType::siScaleCode_type& PowerItemType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void PowerItemType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void PowerItemType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + + const PowerItemType::powerAttributes_type& PowerItemType:: + powerAttributes () const + { + return this->powerAttributes_.get (); + } + + PowerItemType::powerAttributes_type& PowerItemType:: + powerAttributes () + { + return this->powerAttributes_.get (); + } + + void PowerItemType:: + powerAttributes (const powerAttributes_type& x) + { + this->powerAttributes_.set (x); + } + + void PowerItemType:: + powerAttributes (::std::auto_ptr< powerAttributes_type > x) + { + this->powerAttributes_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PowerItemType + // + + PowerItemType:: + PowerItemType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + const powerAttributes_type& powerAttributes) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this), + powerAttributes_ (powerAttributes, this) + { + } + + PowerItemType:: + PowerItemType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this), + powerAttributes_ (powerAttributes, this) + { + } + + PowerItemType:: + PowerItemType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this), + powerAttributes_ (powerAttributes, this) + { + } + + PowerItemType:: + PowerItemType (const PowerItemType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this), + powerAttributes_ (x.powerAttributes_, f, this) + { + } + + PowerItemType:: + PowerItemType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this), + powerAttributes_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PowerItemType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + // powerAttributes + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< powerAttributes_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!powerAttributes_.present ()) + { + ::std::auto_ptr< powerAttributes_type > r ( + dynamic_cast< powerAttributes_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->powerAttributes_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + + if (!powerAttributes_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + PowerItemType* PowerItemType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PowerItemType (*this, f, c); + } + + PowerItemType& PowerItemType:: + operator= (const PowerItemType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + this->powerAttributes_ = x.powerAttributes_; + } + + return *this; + } + + PowerItemType:: + ~PowerItemType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PowerItemType > + _xsd_PowerItemType_type_factory_init ( + "PowerItemType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PowerItemType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PowerItemType::itemDescription_type& x (i.itemDescription ()); + if (typeid (PowerItemType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PowerItemType::itemUnits_type& x (i.itemUnits ()); + if (typeid (PowerItemType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PowerItemType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (PowerItemType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + + // powerAttributes + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PowerItemType::powerAttributes_type& x (i.powerAttributes ()); + if (typeid (PowerItemType::powerAttributes_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PowerItemType > + _xsd_PowerItemType_type_serializer_init ( + "PowerItemType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PowerItemType.hxx b/oadrsd/oadrsd/2b/PowerItemType.hxx new file mode 100644 index 0000000..7f97b04 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerItemType.hxx @@ -0,0 +1,437 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POWER_ITEM_TYPE_HXX +#define POWER_ITEM_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PowerItemType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace power +{ + class PowerAttributesType; +} + +namespace power +{ + class PowerItemType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // powerAttributes + // + typedef ::power::PowerAttributesType powerAttributes_type; + typedef ::xsd::cxx::tree::traits< powerAttributes_type, char > powerAttributes_traits; + + const powerAttributes_type& + powerAttributes () const; + + powerAttributes_type& + powerAttributes (); + + void + powerAttributes (const powerAttributes_type& x); + + void + powerAttributes (::std::auto_ptr< powerAttributes_type > p); + + // Constructors. + // + PowerItemType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + const powerAttributes_type&); + + PowerItemType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + ::std::auto_ptr< powerAttributes_type >); + + PowerItemType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >, + ::std::auto_ptr< powerAttributes_type >); + + PowerItemType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PowerItemType (const PowerItemType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PowerItemType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PowerItemType& + operator= (const PowerItemType& x); + + virtual + ~PowerItemType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + ::xsd::cxx::tree::one< powerAttributes_type > powerAttributes_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PowerItemType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POWER_ITEM_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PowerReactiveType.cxx b/oadrsd/oadrsd/2b/PowerReactiveType.cxx new file mode 100644 index 0000000..489dc1a --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerReactiveType.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PowerReactiveType.hxx" + +namespace power +{ + // PowerReactiveType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PowerReactiveType + // + + PowerReactiveType:: + PowerReactiveType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + const powerAttributes_type& powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerReactiveType:: + PowerReactiveType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerReactiveType:: + PowerReactiveType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerReactiveType:: + PowerReactiveType (const PowerReactiveType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (x, f, c) + { + } + + PowerReactiveType:: + PowerReactiveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (e, f, c) + { + } + + PowerReactiveType* PowerReactiveType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PowerReactiveType (*this, f, c); + } + + PowerReactiveType:: + ~PowerReactiveType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PowerReactiveType > + _xsd_PowerReactiveType_type_factory_init ( + "PowerReactiveType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PowerReactiveType& i) + { + e << static_cast< const ::power::PowerItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PowerReactiveType > + _xsd_PowerReactiveType_type_serializer_init ( + "PowerReactiveType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PowerReactiveType.hxx b/oadrsd/oadrsd/2b/PowerReactiveType.hxx new file mode 100644 index 0000000..9ff66c5 --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerReactiveType.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POWER_REACTIVE_TYPE_HXX +#define POWER_REACTIVE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PowerReactiveType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "PowerItemType.hxx" + +namespace power +{ + class PowerReactiveType: public ::power::PowerItemType + { + public: + // Constructors. + // + PowerReactiveType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + const powerAttributes_type&); + + PowerReactiveType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + ::std::auto_ptr< powerAttributes_type >); + + PowerReactiveType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >, + ::std::auto_ptr< powerAttributes_type >); + + PowerReactiveType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PowerReactiveType (const PowerReactiveType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PowerReactiveType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~PowerReactiveType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PowerReactiveType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POWER_REACTIVE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PowerRealType.cxx b/oadrsd/oadrsd/2b/PowerRealType.cxx new file mode 100644 index 0000000..5294e5b --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerRealType.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PowerRealType.hxx" + +namespace power +{ + // PowerRealType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // PowerRealType + // + + PowerRealType:: + PowerRealType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + const powerAttributes_type& powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerRealType:: + PowerRealType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerRealType:: + PowerRealType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode, + ::std::auto_ptr< powerAttributes_type > powerAttributes) + : ::power::PowerItemType (itemDescription, + itemUnits, + siScaleCode, + powerAttributes) + { + } + + PowerRealType:: + PowerRealType (const PowerRealType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (x, f, c) + { + } + + PowerRealType:: + PowerRealType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::power::PowerItemType (e, f, c) + { + } + + PowerRealType* PowerRealType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PowerRealType (*this, f, c); + } + + PowerRealType:: + ~PowerRealType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PowerRealType > + _xsd_PowerRealType_type_factory_init ( + "PowerRealType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const PowerRealType& i) + { + e << static_cast< const ::power::PowerItemType& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PowerRealType > + _xsd_PowerRealType_type_serializer_init ( + "PowerRealType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PowerRealType.hxx b/oadrsd/oadrsd/2b/PowerRealType.hxx new file mode 100644 index 0000000..567d91c --- /dev/null +++ b/oadrsd/oadrsd/2b/PowerRealType.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef POWER_REAL_TYPE_HXX +#define POWER_REAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class PowerRealType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "PowerItemType.hxx" + +namespace power +{ + class PowerRealType: public ::power::PowerItemType + { + public: + // Constructors. + // + PowerRealType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + const powerAttributes_type&); + + PowerRealType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&, + ::std::auto_ptr< powerAttributes_type >); + + PowerRealType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >, + ::std::auto_ptr< powerAttributes_type >); + + PowerRealType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PowerRealType (const PowerRealType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PowerRealType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~PowerRealType (); + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const PowerRealType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // POWER_REAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/PrimeFieldParamsType.cxx b/oadrsd/oadrsd/2b/PrimeFieldParamsType.cxx new file mode 100644 index 0000000..af8fb83 --- /dev/null +++ b/oadrsd/oadrsd/2b/PrimeFieldParamsType.cxx @@ -0,0 +1,286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "PrimeFieldParamsType.hxx" + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // PrimeFieldParamsType + // + + const PrimeFieldParamsType::P_type& PrimeFieldParamsType:: + P () const + { + return this->P_.get (); + } + + PrimeFieldParamsType::P_type& PrimeFieldParamsType:: + P () + { + return this->P_.get (); + } + + void PrimeFieldParamsType:: + P (const P_type& x) + { + this->P_.set (x); + } + + void PrimeFieldParamsType:: + P (::std::auto_ptr< P_type > x) + { + this->P_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // PrimeFieldParamsType + // + + PrimeFieldParamsType:: + PrimeFieldParamsType (const P_type& P) + : ::xml_schema::type (), + P_ (P, this) + { + } + + PrimeFieldParamsType:: + PrimeFieldParamsType (::std::auto_ptr< P_type > P) + : ::xml_schema::type (), + P_ (P, this) + { + } + + PrimeFieldParamsType:: + PrimeFieldParamsType (const PrimeFieldParamsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + P_ (x.P_, f, this) + { + } + + PrimeFieldParamsType:: + PrimeFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + P_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void PrimeFieldParamsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // P + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "P", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< P_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!P_.present ()) + { + ::std::auto_ptr< P_type > r ( + dynamic_cast< P_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->P_.set (r); + continue; + } + } + } + + break; + } + + if (!P_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "P", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + PrimeFieldParamsType* PrimeFieldParamsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class PrimeFieldParamsType (*this, f, c); + } + + PrimeFieldParamsType& PrimeFieldParamsType:: + operator= (const PrimeFieldParamsType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->P_ = x.P_; + } + + return *this; + } + + PrimeFieldParamsType:: + ~PrimeFieldParamsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, PrimeFieldParamsType > + _xsd_PrimeFieldParamsType_type_factory_init ( + "PrimeFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const PrimeFieldParamsType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // P + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const PrimeFieldParamsType::P_type& x (i.P ()); + if (typeid (PrimeFieldParamsType::P_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "P", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << x; + } + else + tsm.serialize ( + "P", + "http://www.w3.org/2009/xmldsig11#", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, PrimeFieldParamsType > + _xsd_PrimeFieldParamsType_type_serializer_init ( + "PrimeFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/PrimeFieldParamsType.hxx b/oadrsd/oadrsd/2b/PrimeFieldParamsType.hxx new file mode 100644 index 0000000..615b8b3 --- /dev/null +++ b/oadrsd/oadrsd/2b/PrimeFieldParamsType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PRIME_FIELD_PARAMS_TYPE_HXX +#define PRIME_FIELD_PARAMS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class PrimeFieldParamsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace dsig11 + { + class PrimeFieldParamsType: public ::xml_schema::type + { + public: + // P + // + typedef ::oadr2b::sig::CryptoBinary P_type; + typedef ::xsd::cxx::tree::traits< P_type, char > P_traits; + + const P_type& + P () const; + + P_type& + P (); + + void + P (const P_type& x); + + void + P (::std::auto_ptr< P_type > p); + + // Constructors. + // + PrimeFieldParamsType (const P_type&); + + PrimeFieldParamsType (::std::auto_ptr< P_type >); + + PrimeFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + PrimeFieldParamsType (const PrimeFieldParamsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual PrimeFieldParamsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + PrimeFieldParamsType& + operator= (const PrimeFieldParamsType& x); + + virtual + ~PrimeFieldParamsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< P_type > P_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const PrimeFieldParamsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PRIME_FIELD_PARAMS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/QualifiedEventIDType.cxx b/oadrsd/oadrsd/2b/QualifiedEventIDType.cxx new file mode 100644 index 0000000..9ccbab6 --- /dev/null +++ b/oadrsd/oadrsd/2b/QualifiedEventIDType.cxx @@ -0,0 +1,339 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "QualifiedEventIDType.hxx" + +namespace oadr2b +{ + namespace ei + { + // QualifiedEventIDType + // + + const QualifiedEventIDType::eventID_type& QualifiedEventIDType:: + eventID () const + { + return this->eventID_.get (); + } + + QualifiedEventIDType::eventID_type& QualifiedEventIDType:: + eventID () + { + return this->eventID_.get (); + } + + void QualifiedEventIDType:: + eventID (const eventID_type& x) + { + this->eventID_.set (x); + } + + void QualifiedEventIDType:: + eventID (::std::auto_ptr< eventID_type > x) + { + this->eventID_.set (x); + } + + const QualifiedEventIDType::modificationNumber_type& QualifiedEventIDType:: + modificationNumber () const + { + return this->modificationNumber_.get (); + } + + QualifiedEventIDType::modificationNumber_type& QualifiedEventIDType:: + modificationNumber () + { + return this->modificationNumber_.get (); + } + + void QualifiedEventIDType:: + modificationNumber (const modificationNumber_type& x) + { + this->modificationNumber_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // QualifiedEventIDType + // + + QualifiedEventIDType:: + QualifiedEventIDType (const eventID_type& eventID, + const modificationNumber_type& modificationNumber) + : ::xml_schema::type (), + eventID_ (eventID, this), + modificationNumber_ (modificationNumber, this) + { + } + + QualifiedEventIDType:: + QualifiedEventIDType (::std::auto_ptr< eventID_type > eventID, + const modificationNumber_type& modificationNumber) + : ::xml_schema::type (), + eventID_ (eventID, this), + modificationNumber_ (modificationNumber, this) + { + } + + QualifiedEventIDType:: + QualifiedEventIDType (const QualifiedEventIDType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eventID_ (x.eventID_, f, this), + modificationNumber_ (x.modificationNumber_, f, this) + { + } + + QualifiedEventIDType:: + QualifiedEventIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eventID_ (this), + modificationNumber_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void QualifiedEventIDType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eventID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eventID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eventID_.present ()) + { + ::std::auto_ptr< eventID_type > r ( + dynamic_cast< eventID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eventID_.set (r); + continue; + } + } + } + + // modificationNumber + // + if (n.name () == "modificationNumber" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + if (!modificationNumber_.present ()) + { + this->modificationNumber_.set (modificationNumber_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!eventID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!modificationNumber_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + QualifiedEventIDType* QualifiedEventIDType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class QualifiedEventIDType (*this, f, c); + } + + QualifiedEventIDType& QualifiedEventIDType:: + operator= (const QualifiedEventIDType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eventID_ = x.eventID_; + this->modificationNumber_ = x.modificationNumber_; + } + + return *this; + } + + QualifiedEventIDType:: + ~QualifiedEventIDType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, QualifiedEventIDType > + _xsd_QualifiedEventIDType_type_factory_init ( + "QualifiedEventIDType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const QualifiedEventIDType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eventID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const QualifiedEventIDType::eventID_type& x (i.eventID ()); + if (typeid (QualifiedEventIDType::eventID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // modificationNumber + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << i.modificationNumber (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, QualifiedEventIDType > + _xsd_QualifiedEventIDType_type_serializer_init ( + "QualifiedEventIDType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/QualifiedEventIDType.hxx b/oadrsd/oadrsd/2b/QualifiedEventIDType.hxx new file mode 100644 index 0000000..1e0db55 --- /dev/null +++ b/oadrsd/oadrsd/2b/QualifiedEventIDType.hxx @@ -0,0 +1,389 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef QUALIFIED_EVENT_IDTYPE_HXX +#define QUALIFIED_EVENT_IDTYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class QualifiedEventIDType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class QualifiedEventIDType: public ::xml_schema::type + { + public: + // eventID + // + typedef ::xml_schema::string eventID_type; + typedef ::xsd::cxx::tree::traits< eventID_type, char > eventID_traits; + + const eventID_type& + eventID () const; + + eventID_type& + eventID (); + + void + eventID (const eventID_type& x); + + void + eventID (::std::auto_ptr< eventID_type > p); + + // modificationNumber + // + typedef ::xml_schema::unsigned_int modificationNumber_type; + typedef ::xsd::cxx::tree::traits< modificationNumber_type, char > modificationNumber_traits; + + const modificationNumber_type& + modificationNumber () const; + + modificationNumber_type& + modificationNumber (); + + void + modificationNumber (const modificationNumber_type& x); + + // Constructors. + // + QualifiedEventIDType (const eventID_type&, + const modificationNumber_type&); + + QualifiedEventIDType (::std::auto_ptr< eventID_type >, + const modificationNumber_type&); + + QualifiedEventIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualifiedEventIDType (const QualifiedEventIDType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual QualifiedEventIDType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + QualifiedEventIDType& + operator= (const QualifiedEventIDType& x); + + virtual + ~QualifiedEventIDType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eventID_type > eventID_; + ::xsd::cxx::tree::one< modificationNumber_type > modificationNumber_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const QualifiedEventIDType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // QUALIFIED_EVENT_IDTYPE_HXX diff --git a/oadrsd/oadrsd/2b/QualityOfReading.cxx b/oadrsd/oadrsd/2b/QualityOfReading.cxx new file mode 100644 index 0000000..3e3ec87 --- /dev/null +++ b/oadrsd/oadrsd/2b/QualityOfReading.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "QualityOfReading.hxx" + +namespace espi +{ + // QualityOfReading + // + + QualityOfReading:: + QualityOfReading (const char* s) + : ::xml_schema::string (s) + { + } + + QualityOfReading:: + QualityOfReading (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + QualityOfReading:: + QualityOfReading (const QualityOfReading& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // QualityOfReading + // + + QualityOfReading:: + QualityOfReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + QualityOfReading:: + QualityOfReading (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + QualityOfReading:: + QualityOfReading (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + QualityOfReading* QualityOfReading:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class QualityOfReading (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, QualityOfReading > + _xsd_QualityOfReading_type_factory_init ( + "QualityOfReading", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const QualityOfReading& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const QualityOfReading& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const QualityOfReading& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, QualityOfReading > + _xsd_QualityOfReading_type_serializer_init ( + "QualityOfReading", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/QualityOfReading.hxx b/oadrsd/oadrsd/2b/QualityOfReading.hxx new file mode 100644 index 0000000..7bf67dc --- /dev/null +++ b/oadrsd/oadrsd/2b/QualityOfReading.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef QUALITY_OF_READING_HXX +#define QUALITY_OF_READING_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class QualityOfReading; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class QualityOfReading: public ::xml_schema::string + { + public: + + QualityOfReading (const char* v); + + QualityOfReading (const ::std::string& v); + + QualityOfReading (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading (const QualityOfReading& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual QualityOfReading* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const QualityOfReading&); + + void + operator<< (::xercesc::DOMAttr&, const QualityOfReading&); + + void + operator<< (::xml_schema::list_stream&, + const QualityOfReading&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // QUALITY_OF_READING_HXX diff --git a/oadrsd/oadrsd/2b/QualityOfReading_member.cxx b/oadrsd/oadrsd/2b/QualityOfReading_member.cxx new file mode 100644 index 0000000..0c764f9 --- /dev/null +++ b/oadrsd/oadrsd/2b/QualityOfReading_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "QualityOfReading_member.hxx" + +namespace espi +{ + // QualityOfReading_member + // + + QualityOfReading_member:: + QualityOfReading_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + QualityOfReading_member:: + QualityOfReading_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + QualityOfReading_member:: + QualityOfReading_member (const QualityOfReading_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // QualityOfReading_member + // + + QualityOfReading_member:: + QualityOfReading_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + QualityOfReading_member:: + QualityOfReading_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + QualityOfReading_member:: + QualityOfReading_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + QualityOfReading_member* QualityOfReading_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class QualityOfReading_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const QualityOfReading_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const QualityOfReading_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const QualityOfReading_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/QualityOfReading_member.hxx b/oadrsd/oadrsd/2b/QualityOfReading_member.hxx new file mode 100644 index 0000000..b0e2e42 --- /dev/null +++ b/oadrsd/oadrsd/2b/QualityOfReading_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef QUALITY_OF_READING_MEMBER_HXX +#define QUALITY_OF_READING_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class QualityOfReading_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class QualityOfReading_member: public ::espi::UInt16 + { + public: + QualityOfReading_member (::xml_schema::unsigned_short v); + + QualityOfReading_member (const ::espi::UInt16& v); + + QualityOfReading_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + QualityOfReading_member (const QualityOfReading_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual QualityOfReading_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const QualityOfReading_member&); + + void + operator<< (::xercesc::DOMAttr&, const QualityOfReading_member&); + + void + operator<< (::xml_schema::list_stream&, + const QualityOfReading_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // QUALITY_OF_READING_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/RSAKeyValueType.cxx b/oadrsd/oadrsd/2b/RSAKeyValueType.cxx new file mode 100644 index 0000000..e65afd4 --- /dev/null +++ b/oadrsd/oadrsd/2b/RSAKeyValueType.cxx @@ -0,0 +1,376 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "RSAKeyValueType.hxx" + +#include "CryptoBinary.hxx" + +namespace oadr2b +{ + namespace sig + { + // RSAKeyValueType + // + + const RSAKeyValueType::Modulus_type& RSAKeyValueType:: + Modulus () const + { + return this->Modulus_.get (); + } + + RSAKeyValueType::Modulus_type& RSAKeyValueType:: + Modulus () + { + return this->Modulus_.get (); + } + + void RSAKeyValueType:: + Modulus (const Modulus_type& x) + { + this->Modulus_.set (x); + } + + void RSAKeyValueType:: + Modulus (::std::auto_ptr< Modulus_type > x) + { + this->Modulus_.set (x); + } + + const RSAKeyValueType::Exponent_type& RSAKeyValueType:: + Exponent () const + { + return this->Exponent_.get (); + } + + RSAKeyValueType::Exponent_type& RSAKeyValueType:: + Exponent () + { + return this->Exponent_.get (); + } + + void RSAKeyValueType:: + Exponent (const Exponent_type& x) + { + this->Exponent_.set (x); + } + + void RSAKeyValueType:: + Exponent (::std::auto_ptr< Exponent_type > x) + { + this->Exponent_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // RSAKeyValueType + // + + RSAKeyValueType:: + RSAKeyValueType (const Modulus_type& Modulus, + const Exponent_type& Exponent) + : ::xml_schema::type (), + Modulus_ (Modulus, this), + Exponent_ (Exponent, this) + { + } + + RSAKeyValueType:: + RSAKeyValueType (::std::auto_ptr< Modulus_type > Modulus, + ::std::auto_ptr< Exponent_type > Exponent) + : ::xml_schema::type (), + Modulus_ (Modulus, this), + Exponent_ (Exponent, this) + { + } + + RSAKeyValueType:: + RSAKeyValueType (const RSAKeyValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Modulus_ (x.Modulus_, f, this), + Exponent_ (x.Exponent_, f, this) + { + } + + RSAKeyValueType:: + RSAKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Modulus_ (this), + Exponent_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void RSAKeyValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Modulus + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Modulus", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Modulus_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Modulus_.present ()) + { + ::std::auto_ptr< Modulus_type > r ( + dynamic_cast< Modulus_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Modulus_.set (r); + continue; + } + } + } + + // Exponent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Exponent", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Exponent_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!Exponent_.present ()) + { + ::std::auto_ptr< Exponent_type > r ( + dynamic_cast< Exponent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Exponent_.set (r); + continue; + } + } + } + + break; + } + + if (!Modulus_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Modulus", + "http://www.w3.org/2000/09/xmldsig#"); + } + + if (!Exponent_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Exponent", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + RSAKeyValueType* RSAKeyValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class RSAKeyValueType (*this, f, c); + } + + RSAKeyValueType& RSAKeyValueType:: + operator= (const RSAKeyValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Modulus_ = x.Modulus_; + this->Exponent_ = x.Exponent_; + } + + return *this; + } + + RSAKeyValueType:: + ~RSAKeyValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, RSAKeyValueType > + _xsd_RSAKeyValueType_type_factory_init ( + "RSAKeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const RSAKeyValueType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Modulus + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const RSAKeyValueType::Modulus_type& x (i.Modulus ()); + if (typeid (RSAKeyValueType::Modulus_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Modulus", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Modulus", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + + // Exponent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const RSAKeyValueType::Exponent_type& x (i.Exponent ()); + if (typeid (RSAKeyValueType::Exponent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Exponent", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Exponent", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, RSAKeyValueType > + _xsd_RSAKeyValueType_type_serializer_init ( + "RSAKeyValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/RSAKeyValueType.hxx b/oadrsd/oadrsd/2b/RSAKeyValueType.hxx new file mode 100644 index 0000000..e9963bd --- /dev/null +++ b/oadrsd/oadrsd/2b/RSAKeyValueType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef RSAKEY_VALUE_TYPE_HXX +#define RSAKEY_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class RSAKeyValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CryptoBinary; + } +} + +namespace oadr2b +{ + namespace sig + { + class RSAKeyValueType: public ::xml_schema::type + { + public: + // Modulus + // + typedef ::oadr2b::sig::CryptoBinary Modulus_type; + typedef ::xsd::cxx::tree::traits< Modulus_type, char > Modulus_traits; + + const Modulus_type& + Modulus () const; + + Modulus_type& + Modulus (); + + void + Modulus (const Modulus_type& x); + + void + Modulus (::std::auto_ptr< Modulus_type > p); + + // Exponent + // + typedef ::oadr2b::sig::CryptoBinary Exponent_type; + typedef ::xsd::cxx::tree::traits< Exponent_type, char > Exponent_traits; + + const Exponent_type& + Exponent () const; + + Exponent_type& + Exponent (); + + void + Exponent (const Exponent_type& x); + + void + Exponent (::std::auto_ptr< Exponent_type > p); + + // Constructors. + // + RSAKeyValueType (const Modulus_type&, + const Exponent_type&); + + RSAKeyValueType (::std::auto_ptr< Modulus_type >, + ::std::auto_ptr< Exponent_type >); + + RSAKeyValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + RSAKeyValueType (const RSAKeyValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual RSAKeyValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + RSAKeyValueType& + operator= (const RSAKeyValueType& x); + + virtual + ~RSAKeyValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Modulus_type > Modulus_; + ::xsd::cxx::tree::one< Exponent_type > Exponent_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const RSAKeyValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // RSAKEY_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/RationalNumber.cxx b/oadrsd/oadrsd/2b/RationalNumber.cxx new file mode 100644 index 0000000..e52ee7a --- /dev/null +++ b/oadrsd/oadrsd/2b/RationalNumber.cxx @@ -0,0 +1,319 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "RationalNumber.hxx" + +namespace espi +{ + // RationalNumber + // + + const RationalNumber::numerator_optional& RationalNumber:: + numerator () const + { + return this->numerator_; + } + + RationalNumber::numerator_optional& RationalNumber:: + numerator () + { + return this->numerator_; + } + + void RationalNumber:: + numerator (const numerator_type& x) + { + this->numerator_.set (x); + } + + void RationalNumber:: + numerator (const numerator_optional& x) + { + this->numerator_ = x; + } + + const RationalNumber::denominator_optional& RationalNumber:: + denominator () const + { + return this->denominator_; + } + + RationalNumber::denominator_optional& RationalNumber:: + denominator () + { + return this->denominator_; + } + + void RationalNumber:: + denominator (const denominator_type& x) + { + this->denominator_.set (x); + } + + void RationalNumber:: + denominator (const denominator_optional& x) + { + this->denominator_ = x; + } + + void RationalNumber:: + denominator (::std::auto_ptr< denominator_type > x) + { + this->denominator_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // RationalNumber + // + + RationalNumber:: + RationalNumber () + : ::xml_schema::type (), + numerator_ (this), + denominator_ (this) + { + } + + RationalNumber:: + RationalNumber (const RationalNumber& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + numerator_ (x.numerator_, f, this), + denominator_ (x.denominator_, f, this) + { + } + + RationalNumber:: + RationalNumber (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + numerator_ (this), + denominator_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void RationalNumber:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // numerator + // + if (n.name () == "numerator" && n.namespace_ () == "http://naesb.org/espi") + { + if (!this->numerator_) + { + this->numerator_.set (numerator_traits::create (i, f, this)); + continue; + } + } + + // denominator + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "denominator", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< denominator_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->denominator_) + { + ::std::auto_ptr< denominator_type > r ( + dynamic_cast< denominator_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->denominator_.set (r); + continue; + } + } + } + + break; + } + } + + RationalNumber* RationalNumber:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class RationalNumber (*this, f, c); + } + + RationalNumber& RationalNumber:: + operator= (const RationalNumber& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->numerator_ = x.numerator_; + this->denominator_ = x.denominator_; + } + + return *this; + } + + RationalNumber:: + ~RationalNumber () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, RationalNumber > + _xsd_RationalNumber_type_factory_init ( + "RationalNumber", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const RationalNumber& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // numerator + // + if (i.numerator ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "numerator", + "http://naesb.org/espi", + e)); + + s << *i.numerator (); + } + + // denominator + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.denominator ()) + { + const RationalNumber::denominator_type& x (*i.denominator ()); + if (typeid (RationalNumber::denominator_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "denominator", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "denominator", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, RationalNumber > + _xsd_RationalNumber_type_serializer_init ( + "RationalNumber", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/RationalNumber.hxx b/oadrsd/oadrsd/2b/RationalNumber.hxx new file mode 100644 index 0000000..808e32c --- /dev/null +++ b/oadrsd/oadrsd/2b/RationalNumber.hxx @@ -0,0 +1,381 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef RATIONAL_NUMBER_HXX +#define RATIONAL_NUMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class RationalNumber; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class RationalNumber: public ::xml_schema::type + { + public: + // numerator + // + typedef ::xml_schema::integer numerator_type; + typedef ::xsd::cxx::tree::optional< numerator_type > numerator_optional; + typedef ::xsd::cxx::tree::traits< numerator_type, char > numerator_traits; + + const numerator_optional& + numerator () const; + + numerator_optional& + numerator (); + + void + numerator (const numerator_type& x); + + void + numerator (const numerator_optional& x); + + // denominator + // + typedef ::xml_schema::type denominator_type; + typedef ::xsd::cxx::tree::optional< denominator_type > denominator_optional; + typedef ::xsd::cxx::tree::traits< denominator_type, char > denominator_traits; + + const denominator_optional& + denominator () const; + + denominator_optional& + denominator (); + + void + denominator (const denominator_type& x); + + void + denominator (const denominator_optional& x); + + void + denominator (::std::auto_ptr< denominator_type > p); + + // Constructors. + // + RationalNumber (); + + RationalNumber (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + RationalNumber (const RationalNumber& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual RationalNumber* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + RationalNumber& + operator= (const RationalNumber& x); + + virtual + ~RationalNumber (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + numerator_optional numerator_; + denominator_optional denominator_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const RationalNumber&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // RATIONAL_NUMBER_HXX diff --git a/oadrsd/oadrsd/2b/ReadingInterharmonic.cxx b/oadrsd/oadrsd/2b/ReadingInterharmonic.cxx new file mode 100644 index 0000000..e38849d --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingInterharmonic.cxx @@ -0,0 +1,319 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReadingInterharmonic.hxx" + +namespace espi +{ + // ReadingInterharmonic + // + + const ReadingInterharmonic::numerator_optional& ReadingInterharmonic:: + numerator () const + { + return this->numerator_; + } + + ReadingInterharmonic::numerator_optional& ReadingInterharmonic:: + numerator () + { + return this->numerator_; + } + + void ReadingInterharmonic:: + numerator (const numerator_type& x) + { + this->numerator_.set (x); + } + + void ReadingInterharmonic:: + numerator (const numerator_optional& x) + { + this->numerator_ = x; + } + + const ReadingInterharmonic::denominator_optional& ReadingInterharmonic:: + denominator () const + { + return this->denominator_; + } + + ReadingInterharmonic::denominator_optional& ReadingInterharmonic:: + denominator () + { + return this->denominator_; + } + + void ReadingInterharmonic:: + denominator (const denominator_type& x) + { + this->denominator_.set (x); + } + + void ReadingInterharmonic:: + denominator (const denominator_optional& x) + { + this->denominator_ = x; + } + + void ReadingInterharmonic:: + denominator (::std::auto_ptr< denominator_type > x) + { + this->denominator_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ReadingInterharmonic + // + + ReadingInterharmonic:: + ReadingInterharmonic () + : ::xml_schema::type (), + numerator_ (this), + denominator_ (this) + { + } + + ReadingInterharmonic:: + ReadingInterharmonic (const ReadingInterharmonic& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + numerator_ (x.numerator_, f, this), + denominator_ (x.denominator_, f, this) + { + } + + ReadingInterharmonic:: + ReadingInterharmonic (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + numerator_ (this), + denominator_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReadingInterharmonic:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // numerator + // + if (n.name () == "numerator" && n.namespace_ () == "http://naesb.org/espi") + { + if (!this->numerator_) + { + this->numerator_.set (numerator_traits::create (i, f, this)); + continue; + } + } + + // denominator + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "denominator", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< denominator_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->denominator_) + { + ::std::auto_ptr< denominator_type > r ( + dynamic_cast< denominator_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->denominator_.set (r); + continue; + } + } + } + + break; + } + } + + ReadingInterharmonic* ReadingInterharmonic:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReadingInterharmonic (*this, f, c); + } + + ReadingInterharmonic& ReadingInterharmonic:: + operator= (const ReadingInterharmonic& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->numerator_ = x.numerator_; + this->denominator_ = x.denominator_; + } + + return *this; + } + + ReadingInterharmonic:: + ~ReadingInterharmonic () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReadingInterharmonic > + _xsd_ReadingInterharmonic_type_factory_init ( + "ReadingInterharmonic", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ReadingInterharmonic& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // numerator + // + if (i.numerator ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "numerator", + "http://naesb.org/espi", + e)); + + s << *i.numerator (); + } + + // denominator + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.denominator ()) + { + const ReadingInterharmonic::denominator_type& x (*i.denominator ()); + if (typeid (ReadingInterharmonic::denominator_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "denominator", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "denominator", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReadingInterharmonic > + _xsd_ReadingInterharmonic_type_serializer_init ( + "ReadingInterharmonic", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReadingInterharmonic.hxx b/oadrsd/oadrsd/2b/ReadingInterharmonic.hxx new file mode 100644 index 0000000..6cefa7a --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingInterharmonic.hxx @@ -0,0 +1,381 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef READING_INTERHARMONIC_HXX +#define READING_INTERHARMONIC_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ReadingInterharmonic; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ReadingInterharmonic: public ::xml_schema::type + { + public: + // numerator + // + typedef ::xml_schema::integer numerator_type; + typedef ::xsd::cxx::tree::optional< numerator_type > numerator_optional; + typedef ::xsd::cxx::tree::traits< numerator_type, char > numerator_traits; + + const numerator_optional& + numerator () const; + + numerator_optional& + numerator (); + + void + numerator (const numerator_type& x); + + void + numerator (const numerator_optional& x); + + // denominator + // + typedef ::xml_schema::type denominator_type; + typedef ::xsd::cxx::tree::optional< denominator_type > denominator_optional; + typedef ::xsd::cxx::tree::traits< denominator_type, char > denominator_traits; + + const denominator_optional& + denominator () const; + + denominator_optional& + denominator (); + + void + denominator (const denominator_type& x); + + void + denominator (const denominator_optional& x); + + void + denominator (::std::auto_ptr< denominator_type > p); + + // Constructors. + // + ReadingInterharmonic (); + + ReadingInterharmonic (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingInterharmonic (const ReadingInterharmonic& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReadingInterharmonic* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReadingInterharmonic& + operator= (const ReadingInterharmonic& x); + + virtual + ~ReadingInterharmonic (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + numerator_optional numerator_; + denominator_optional denominator_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ReadingInterharmonic&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // READING_INTERHARMONIC_HXX diff --git a/oadrsd/oadrsd/2b/ReadingQuality.cxx b/oadrsd/oadrsd/2b/ReadingQuality.cxx new file mode 100644 index 0000000..698ae31 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingQuality.cxx @@ -0,0 +1,276 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReadingQuality.hxx" + +#include "QualityOfReading.hxx" + +namespace espi +{ + // ReadingQuality + // + + const ReadingQuality::quality_type& ReadingQuality:: + quality () const + { + return this->quality_.get (); + } + + ReadingQuality::quality_type& ReadingQuality:: + quality () + { + return this->quality_.get (); + } + + void ReadingQuality:: + quality (const quality_type& x) + { + this->quality_.set (x); + } + + void ReadingQuality:: + quality (::std::auto_ptr< quality_type > x) + { + this->quality_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ReadingQuality + // + + ReadingQuality:: + ReadingQuality (const quality_type& quality) + : ::espi::Object (), + quality_ (quality, this) + { + } + + ReadingQuality:: + ReadingQuality (::std::auto_ptr< quality_type > quality) + : ::espi::Object (), + quality_ (quality, this) + { + } + + ReadingQuality:: + ReadingQuality (const ReadingQuality& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + quality_ (x.quality_, f, this) + { + } + + ReadingQuality:: + ReadingQuality (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + quality_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReadingQuality:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // quality + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "quality", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< quality_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!quality_.present ()) + { + ::std::auto_ptr< quality_type > r ( + dynamic_cast< quality_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->quality_.set (r); + continue; + } + } + } + + break; + } + + if (!quality_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "quality", + "http://naesb.org/espi"); + } + } + + ReadingQuality* ReadingQuality:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReadingQuality (*this, f, c); + } + + ReadingQuality& ReadingQuality:: + operator= (const ReadingQuality& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->quality_ = x.quality_; + } + + return *this; + } + + ReadingQuality:: + ~ReadingQuality () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReadingQuality > + _xsd_ReadingQuality_type_factory_init ( + "ReadingQuality", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ReadingQuality& i) + { + e << static_cast< const ::espi::Object& > (i); + + // quality + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReadingQuality::quality_type& x (i.quality ()); + if (typeid (ReadingQuality::quality_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "quality", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "quality", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReadingQuality > + _xsd_ReadingQuality_type_serializer_init ( + "ReadingQuality", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReadingQuality.hxx b/oadrsd/oadrsd/2b/ReadingQuality.hxx new file mode 100644 index 0000000..cd0d270 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingQuality.hxx @@ -0,0 +1,367 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef READING_QUALITY_HXX +#define READING_QUALITY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ReadingQuality; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class QualityOfReading; +} + +namespace espi +{ + class ReadingQuality: public ::espi::Object + { + public: + // quality + // + typedef ::espi::QualityOfReading quality_type; + typedef ::xsd::cxx::tree::traits< quality_type, char > quality_traits; + + const quality_type& + quality () const; + + quality_type& + quality (); + + void + quality (const quality_type& x); + + void + quality (::std::auto_ptr< quality_type > p); + + // Constructors. + // + ReadingQuality (const quality_type&); + + ReadingQuality (::std::auto_ptr< quality_type >); + + ReadingQuality (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingQuality (const ReadingQuality& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReadingQuality* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReadingQuality& + operator= (const ReadingQuality& x); + + virtual + ~ReadingQuality (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< quality_type > quality_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ReadingQuality&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // READING_QUALITY_HXX diff --git a/oadrsd/oadrsd/2b/ReadingType.cxx b/oadrsd/oadrsd/2b/ReadingType.cxx new file mode 100644 index 0000000..80241d3 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingType.cxx @@ -0,0 +1,1814 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReadingType.hxx" + +#include "AccumulationKind.hxx" + +#include "CommodityKind.hxx" + +#include "Int16.hxx" + +#include "Currency.hxx" + +#include "DataQualifierKind.hxx" + +#include "QualityOfReading.hxx" + +#include "FlowDirectionKind.hxx" + +#include "UInt32.hxx" + +#include "MeasurementKind.hxx" + +#include "PhaseCodeKind.hxx" + +#include "UnitMultiplierKind.hxx" + +#include "TimePeriodOfInterest.hxx" + +#include "UnitSymbolKind.hxx" + +#include "ReadingInterharmonic.hxx" + +#include "TimeAttributeKind.hxx" + +#include "RationalNumber.hxx" + +namespace espi +{ + // ReadingType + // + + const ReadingType::accumulationBehaviour_optional& ReadingType:: + accumulationBehaviour () const + { + return this->accumulationBehaviour_; + } + + ReadingType::accumulationBehaviour_optional& ReadingType:: + accumulationBehaviour () + { + return this->accumulationBehaviour_; + } + + void ReadingType:: + accumulationBehaviour (const accumulationBehaviour_type& x) + { + this->accumulationBehaviour_.set (x); + } + + void ReadingType:: + accumulationBehaviour (const accumulationBehaviour_optional& x) + { + this->accumulationBehaviour_ = x; + } + + void ReadingType:: + accumulationBehaviour (::std::auto_ptr< accumulationBehaviour_type > x) + { + this->accumulationBehaviour_.set (x); + } + + const ReadingType::commodity_optional& ReadingType:: + commodity () const + { + return this->commodity_; + } + + ReadingType::commodity_optional& ReadingType:: + commodity () + { + return this->commodity_; + } + + void ReadingType:: + commodity (const commodity_type& x) + { + this->commodity_.set (x); + } + + void ReadingType:: + commodity (const commodity_optional& x) + { + this->commodity_ = x; + } + + void ReadingType:: + commodity (::std::auto_ptr< commodity_type > x) + { + this->commodity_.set (x); + } + + const ReadingType::consumptionTier_optional& ReadingType:: + consumptionTier () const + { + return this->consumptionTier_; + } + + ReadingType::consumptionTier_optional& ReadingType:: + consumptionTier () + { + return this->consumptionTier_; + } + + void ReadingType:: + consumptionTier (const consumptionTier_type& x) + { + this->consumptionTier_.set (x); + } + + void ReadingType:: + consumptionTier (const consumptionTier_optional& x) + { + this->consumptionTier_ = x; + } + + void ReadingType:: + consumptionTier (::std::auto_ptr< consumptionTier_type > x) + { + this->consumptionTier_.set (x); + } + + const ReadingType::currency_optional& ReadingType:: + currency () const + { + return this->currency_; + } + + ReadingType::currency_optional& ReadingType:: + currency () + { + return this->currency_; + } + + void ReadingType:: + currency (const currency_type& x) + { + this->currency_.set (x); + } + + void ReadingType:: + currency (const currency_optional& x) + { + this->currency_ = x; + } + + void ReadingType:: + currency (::std::auto_ptr< currency_type > x) + { + this->currency_.set (x); + } + + const ReadingType::dataQualifier_optional& ReadingType:: + dataQualifier () const + { + return this->dataQualifier_; + } + + ReadingType::dataQualifier_optional& ReadingType:: + dataQualifier () + { + return this->dataQualifier_; + } + + void ReadingType:: + dataQualifier (const dataQualifier_type& x) + { + this->dataQualifier_.set (x); + } + + void ReadingType:: + dataQualifier (const dataQualifier_optional& x) + { + this->dataQualifier_ = x; + } + + void ReadingType:: + dataQualifier (::std::auto_ptr< dataQualifier_type > x) + { + this->dataQualifier_.set (x); + } + + const ReadingType::defaultQuality_optional& ReadingType:: + defaultQuality () const + { + return this->defaultQuality_; + } + + ReadingType::defaultQuality_optional& ReadingType:: + defaultQuality () + { + return this->defaultQuality_; + } + + void ReadingType:: + defaultQuality (const defaultQuality_type& x) + { + this->defaultQuality_.set (x); + } + + void ReadingType:: + defaultQuality (const defaultQuality_optional& x) + { + this->defaultQuality_ = x; + } + + void ReadingType:: + defaultQuality (::std::auto_ptr< defaultQuality_type > x) + { + this->defaultQuality_.set (x); + } + + const ReadingType::flowDirection_optional& ReadingType:: + flowDirection () const + { + return this->flowDirection_; + } + + ReadingType::flowDirection_optional& ReadingType:: + flowDirection () + { + return this->flowDirection_; + } + + void ReadingType:: + flowDirection (const flowDirection_type& x) + { + this->flowDirection_.set (x); + } + + void ReadingType:: + flowDirection (const flowDirection_optional& x) + { + this->flowDirection_ = x; + } + + void ReadingType:: + flowDirection (::std::auto_ptr< flowDirection_type > x) + { + this->flowDirection_.set (x); + } + + const ReadingType::intervalLength_optional& ReadingType:: + intervalLength () const + { + return this->intervalLength_; + } + + ReadingType::intervalLength_optional& ReadingType:: + intervalLength () + { + return this->intervalLength_; + } + + void ReadingType:: + intervalLength (const intervalLength_type& x) + { + this->intervalLength_.set (x); + } + + void ReadingType:: + intervalLength (const intervalLength_optional& x) + { + this->intervalLength_ = x; + } + + void ReadingType:: + intervalLength (::std::auto_ptr< intervalLength_type > x) + { + this->intervalLength_.set (x); + } + + const ReadingType::kind_optional& ReadingType:: + kind () const + { + return this->kind_; + } + + ReadingType::kind_optional& ReadingType:: + kind () + { + return this->kind_; + } + + void ReadingType:: + kind (const kind_type& x) + { + this->kind_.set (x); + } + + void ReadingType:: + kind (const kind_optional& x) + { + this->kind_ = x; + } + + void ReadingType:: + kind (::std::auto_ptr< kind_type > x) + { + this->kind_.set (x); + } + + const ReadingType::phase_optional& ReadingType:: + phase () const + { + return this->phase_; + } + + ReadingType::phase_optional& ReadingType:: + phase () + { + return this->phase_; + } + + void ReadingType:: + phase (const phase_type& x) + { + this->phase_.set (x); + } + + void ReadingType:: + phase (const phase_optional& x) + { + this->phase_ = x; + } + + void ReadingType:: + phase (::std::auto_ptr< phase_type > x) + { + this->phase_.set (x); + } + + const ReadingType::powerOfTenMultiplier_optional& ReadingType:: + powerOfTenMultiplier () const + { + return this->powerOfTenMultiplier_; + } + + ReadingType::powerOfTenMultiplier_optional& ReadingType:: + powerOfTenMultiplier () + { + return this->powerOfTenMultiplier_; + } + + void ReadingType:: + powerOfTenMultiplier (const powerOfTenMultiplier_type& x) + { + this->powerOfTenMultiplier_.set (x); + } + + void ReadingType:: + powerOfTenMultiplier (const powerOfTenMultiplier_optional& x) + { + this->powerOfTenMultiplier_ = x; + } + + void ReadingType:: + powerOfTenMultiplier (::std::auto_ptr< powerOfTenMultiplier_type > x) + { + this->powerOfTenMultiplier_.set (x); + } + + const ReadingType::timeAttribute_optional& ReadingType:: + timeAttribute () const + { + return this->timeAttribute_; + } + + ReadingType::timeAttribute_optional& ReadingType:: + timeAttribute () + { + return this->timeAttribute_; + } + + void ReadingType:: + timeAttribute (const timeAttribute_type& x) + { + this->timeAttribute_.set (x); + } + + void ReadingType:: + timeAttribute (const timeAttribute_optional& x) + { + this->timeAttribute_ = x; + } + + void ReadingType:: + timeAttribute (::std::auto_ptr< timeAttribute_type > x) + { + this->timeAttribute_.set (x); + } + + const ReadingType::tou_optional& ReadingType:: + tou () const + { + return this->tou_; + } + + ReadingType::tou_optional& ReadingType:: + tou () + { + return this->tou_; + } + + void ReadingType:: + tou (const tou_type& x) + { + this->tou_.set (x); + } + + void ReadingType:: + tou (const tou_optional& x) + { + this->tou_ = x; + } + + void ReadingType:: + tou (::std::auto_ptr< tou_type > x) + { + this->tou_.set (x); + } + + const ReadingType::uom_optional& ReadingType:: + uom () const + { + return this->uom_; + } + + ReadingType::uom_optional& ReadingType:: + uom () + { + return this->uom_; + } + + void ReadingType:: + uom (const uom_type& x) + { + this->uom_.set (x); + } + + void ReadingType:: + uom (const uom_optional& x) + { + this->uom_ = x; + } + + void ReadingType:: + uom (::std::auto_ptr< uom_type > x) + { + this->uom_.set (x); + } + + const ReadingType::cpp_optional& ReadingType:: + cpp () const + { + return this->cpp_; + } + + ReadingType::cpp_optional& ReadingType:: + cpp () + { + return this->cpp_; + } + + void ReadingType:: + cpp (const cpp_type& x) + { + this->cpp_.set (x); + } + + void ReadingType:: + cpp (const cpp_optional& x) + { + this->cpp_ = x; + } + + void ReadingType:: + cpp (::std::auto_ptr< cpp_type > x) + { + this->cpp_.set (x); + } + + const ReadingType::interharmonic_optional& ReadingType:: + interharmonic () const + { + return this->interharmonic_; + } + + ReadingType::interharmonic_optional& ReadingType:: + interharmonic () + { + return this->interharmonic_; + } + + void ReadingType:: + interharmonic (const interharmonic_type& x) + { + this->interharmonic_.set (x); + } + + void ReadingType:: + interharmonic (const interharmonic_optional& x) + { + this->interharmonic_ = x; + } + + void ReadingType:: + interharmonic (::std::auto_ptr< interharmonic_type > x) + { + this->interharmonic_.set (x); + } + + const ReadingType::measuringPeriod_optional& ReadingType:: + measuringPeriod () const + { + return this->measuringPeriod_; + } + + ReadingType::measuringPeriod_optional& ReadingType:: + measuringPeriod () + { + return this->measuringPeriod_; + } + + void ReadingType:: + measuringPeriod (const measuringPeriod_type& x) + { + this->measuringPeriod_.set (x); + } + + void ReadingType:: + measuringPeriod (const measuringPeriod_optional& x) + { + this->measuringPeriod_ = x; + } + + void ReadingType:: + measuringPeriod (::std::auto_ptr< measuringPeriod_type > x) + { + this->measuringPeriod_.set (x); + } + + const ReadingType::argument_optional& ReadingType:: + argument () const + { + return this->argument_; + } + + ReadingType::argument_optional& ReadingType:: + argument () + { + return this->argument_; + } + + void ReadingType:: + argument (const argument_type& x) + { + this->argument_.set (x); + } + + void ReadingType:: + argument (const argument_optional& x) + { + this->argument_ = x; + } + + void ReadingType:: + argument (::std::auto_ptr< argument_type > x) + { + this->argument_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ReadingType + // + + ReadingType:: + ReadingType () + : ::espi::IdentifiedObject (), + accumulationBehaviour_ (this), + commodity_ (this), + consumptionTier_ (this), + currency_ (this), + dataQualifier_ (this), + defaultQuality_ (this), + flowDirection_ (this), + intervalLength_ (this), + kind_ (this), + phase_ (this), + powerOfTenMultiplier_ (this), + timeAttribute_ (this), + tou_ (this), + uom_ (this), + cpp_ (this), + interharmonic_ (this), + measuringPeriod_ (this), + argument_ (this) + { + } + + ReadingType:: + ReadingType (const ReadingType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + accumulationBehaviour_ (x.accumulationBehaviour_, f, this), + commodity_ (x.commodity_, f, this), + consumptionTier_ (x.consumptionTier_, f, this), + currency_ (x.currency_, f, this), + dataQualifier_ (x.dataQualifier_, f, this), + defaultQuality_ (x.defaultQuality_, f, this), + flowDirection_ (x.flowDirection_, f, this), + intervalLength_ (x.intervalLength_, f, this), + kind_ (x.kind_, f, this), + phase_ (x.phase_, f, this), + powerOfTenMultiplier_ (x.powerOfTenMultiplier_, f, this), + timeAttribute_ (x.timeAttribute_, f, this), + tou_ (x.tou_, f, this), + uom_ (x.uom_, f, this), + cpp_ (x.cpp_, f, this), + interharmonic_ (x.interharmonic_, f, this), + measuringPeriod_ (x.measuringPeriod_, f, this), + argument_ (x.argument_, f, this) + { + } + + ReadingType:: + ReadingType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + accumulationBehaviour_ (this), + commodity_ (this), + consumptionTier_ (this), + currency_ (this), + dataQualifier_ (this), + defaultQuality_ (this), + flowDirection_ (this), + intervalLength_ (this), + kind_ (this), + phase_ (this), + powerOfTenMultiplier_ (this), + timeAttribute_ (this), + tou_ (this), + uom_ (this), + cpp_ (this), + interharmonic_ (this), + measuringPeriod_ (this), + argument_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReadingType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // accumulationBehaviour + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "accumulationBehaviour", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< accumulationBehaviour_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->accumulationBehaviour_) + { + ::std::auto_ptr< accumulationBehaviour_type > r ( + dynamic_cast< accumulationBehaviour_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->accumulationBehaviour_.set (r); + continue; + } + } + } + + // commodity + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "commodity", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< commodity_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->commodity_) + { + ::std::auto_ptr< commodity_type > r ( + dynamic_cast< commodity_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->commodity_.set (r); + continue; + } + } + } + + // consumptionTier + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "consumptionTier", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< consumptionTier_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->consumptionTier_) + { + ::std::auto_ptr< consumptionTier_type > r ( + dynamic_cast< consumptionTier_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->consumptionTier_.set (r); + continue; + } + } + } + + // currency + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currency", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currency_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currency_) + { + ::std::auto_ptr< currency_type > r ( + dynamic_cast< currency_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currency_.set (r); + continue; + } + } + } + + // dataQualifier + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "dataQualifier", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< dataQualifier_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->dataQualifier_) + { + ::std::auto_ptr< dataQualifier_type > r ( + dynamic_cast< dataQualifier_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->dataQualifier_.set (r); + continue; + } + } + } + + // defaultQuality + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "defaultQuality", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< defaultQuality_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->defaultQuality_) + { + ::std::auto_ptr< defaultQuality_type > r ( + dynamic_cast< defaultQuality_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->defaultQuality_.set (r); + continue; + } + } + } + + // flowDirection + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "flowDirection", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< flowDirection_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->flowDirection_) + { + ::std::auto_ptr< flowDirection_type > r ( + dynamic_cast< flowDirection_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->flowDirection_.set (r); + continue; + } + } + } + + // intervalLength + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "intervalLength", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< intervalLength_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->intervalLength_) + { + ::std::auto_ptr< intervalLength_type > r ( + dynamic_cast< intervalLength_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->intervalLength_.set (r); + continue; + } + } + } + + // kind + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "kind", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< kind_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->kind_) + { + ::std::auto_ptr< kind_type > r ( + dynamic_cast< kind_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->kind_.set (r); + continue; + } + } + } + + // phase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "phase", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< phase_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->phase_) + { + ::std::auto_ptr< phase_type > r ( + dynamic_cast< phase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->phase_.set (r); + continue; + } + } + } + + // powerOfTenMultiplier + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< powerOfTenMultiplier_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->powerOfTenMultiplier_) + { + ::std::auto_ptr< powerOfTenMultiplier_type > r ( + dynamic_cast< powerOfTenMultiplier_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->powerOfTenMultiplier_.set (r); + continue; + } + } + } + + // timeAttribute + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "timeAttribute", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< timeAttribute_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->timeAttribute_) + { + ::std::auto_ptr< timeAttribute_type > r ( + dynamic_cast< timeAttribute_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->timeAttribute_.set (r); + continue; + } + } + } + + // tou + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "tou", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< tou_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->tou_) + { + ::std::auto_ptr< tou_type > r ( + dynamic_cast< tou_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->tou_.set (r); + continue; + } + } + } + + // uom + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "uom", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< uom_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->uom_) + { + ::std::auto_ptr< uom_type > r ( + dynamic_cast< uom_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->uom_.set (r); + continue; + } + } + } + + // cpp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "cpp", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< cpp_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->cpp_) + { + ::std::auto_ptr< cpp_type > r ( + dynamic_cast< cpp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->cpp_.set (r); + continue; + } + } + } + + // interharmonic + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interharmonic", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< interharmonic_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->interharmonic_) + { + ::std::auto_ptr< interharmonic_type > r ( + dynamic_cast< interharmonic_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->interharmonic_.set (r); + continue; + } + } + } + + // measuringPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "measuringPeriod", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< measuringPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->measuringPeriod_) + { + ::std::auto_ptr< measuringPeriod_type > r ( + dynamic_cast< measuringPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->measuringPeriod_.set (r); + continue; + } + } + } + + // argument + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "argument", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< argument_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->argument_) + { + ::std::auto_ptr< argument_type > r ( + dynamic_cast< argument_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->argument_.set (r); + continue; + } + } + } + + break; + } + } + + ReadingType* ReadingType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReadingType (*this, f, c); + } + + ReadingType& ReadingType:: + operator= (const ReadingType& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->accumulationBehaviour_ = x.accumulationBehaviour_; + this->commodity_ = x.commodity_; + this->consumptionTier_ = x.consumptionTier_; + this->currency_ = x.currency_; + this->dataQualifier_ = x.dataQualifier_; + this->defaultQuality_ = x.defaultQuality_; + this->flowDirection_ = x.flowDirection_; + this->intervalLength_ = x.intervalLength_; + this->kind_ = x.kind_; + this->phase_ = x.phase_; + this->powerOfTenMultiplier_ = x.powerOfTenMultiplier_; + this->timeAttribute_ = x.timeAttribute_; + this->tou_ = x.tou_; + this->uom_ = x.uom_; + this->cpp_ = x.cpp_; + this->interharmonic_ = x.interharmonic_; + this->measuringPeriod_ = x.measuringPeriod_; + this->argument_ = x.argument_; + } + + return *this; + } + + ReadingType:: + ~ReadingType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReadingType > + _xsd_ReadingType_type_factory_init ( + "ReadingType", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ReadingType& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // accumulationBehaviour + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.accumulationBehaviour ()) + { + const ReadingType::accumulationBehaviour_type& x (*i.accumulationBehaviour ()); + if (typeid (ReadingType::accumulationBehaviour_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "accumulationBehaviour", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "accumulationBehaviour", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // commodity + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.commodity ()) + { + const ReadingType::commodity_type& x (*i.commodity ()); + if (typeid (ReadingType::commodity_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "commodity", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "commodity", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // consumptionTier + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.consumptionTier ()) + { + const ReadingType::consumptionTier_type& x (*i.consumptionTier ()); + if (typeid (ReadingType::consumptionTier_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "consumptionTier", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "consumptionTier", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // currency + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currency ()) + { + const ReadingType::currency_type& x (*i.currency ()); + if (typeid (ReadingType::currency_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currency", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currency", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // dataQualifier + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.dataQualifier ()) + { + const ReadingType::dataQualifier_type& x (*i.dataQualifier ()); + if (typeid (ReadingType::dataQualifier_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dataQualifier", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "dataQualifier", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // defaultQuality + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.defaultQuality ()) + { + const ReadingType::defaultQuality_type& x (*i.defaultQuality ()); + if (typeid (ReadingType::defaultQuality_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "defaultQuality", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "defaultQuality", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // flowDirection + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.flowDirection ()) + { + const ReadingType::flowDirection_type& x (*i.flowDirection ()); + if (typeid (ReadingType::flowDirection_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "flowDirection", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "flowDirection", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // intervalLength + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.intervalLength ()) + { + const ReadingType::intervalLength_type& x (*i.intervalLength ()); + if (typeid (ReadingType::intervalLength_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "intervalLength", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "intervalLength", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // kind + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.kind ()) + { + const ReadingType::kind_type& x (*i.kind ()); + if (typeid (ReadingType::kind_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "kind", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "kind", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // phase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.phase ()) + { + const ReadingType::phase_type& x (*i.phase ()); + if (typeid (ReadingType::phase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "phase", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "phase", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // powerOfTenMultiplier + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.powerOfTenMultiplier ()) + { + const ReadingType::powerOfTenMultiplier_type& x (*i.powerOfTenMultiplier ()); + if (typeid (ReadingType::powerOfTenMultiplier_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // timeAttribute + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.timeAttribute ()) + { + const ReadingType::timeAttribute_type& x (*i.timeAttribute ()); + if (typeid (ReadingType::timeAttribute_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "timeAttribute", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "timeAttribute", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // tou + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.tou ()) + { + const ReadingType::tou_type& x (*i.tou ()); + if (typeid (ReadingType::tou_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tou", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "tou", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // uom + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.uom ()) + { + const ReadingType::uom_type& x (*i.uom ()); + if (typeid (ReadingType::uom_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uom", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "uom", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // cpp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.cpp ()) + { + const ReadingType::cpp_type& x (*i.cpp ()); + if (typeid (ReadingType::cpp_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "cpp", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "cpp", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // interharmonic + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.interharmonic ()) + { + const ReadingType::interharmonic_type& x (*i.interharmonic ()); + if (typeid (ReadingType::interharmonic_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "interharmonic", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "interharmonic", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // measuringPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.measuringPeriod ()) + { + const ReadingType::measuringPeriod_type& x (*i.measuringPeriod ()); + if (typeid (ReadingType::measuringPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "measuringPeriod", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "measuringPeriod", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // argument + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.argument ()) + { + const ReadingType::argument_type& x (*i.argument ()); + if (typeid (ReadingType::argument_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "argument", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "argument", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReadingType > + _xsd_ReadingType_type_serializer_init ( + "ReadingType", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReadingType.hxx b/oadrsd/oadrsd/2b/ReadingType.hxx new file mode 100644 index 0000000..ab74217 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingType.hxx @@ -0,0 +1,818 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef READING_TYPE_HXX +#define READING_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ReadingType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class AccumulationKind; +} + +namespace espi +{ + class CommodityKind; +} + +namespace espi +{ + class Int16; +} + +namespace espi +{ + class Currency; +} + +namespace espi +{ + class DataQualifierKind; +} + +namespace espi +{ + class QualityOfReading; +} + +namespace espi +{ + class FlowDirectionKind; +} + +namespace espi +{ + class UInt32; +} + +namespace espi +{ + class MeasurementKind; +} + +namespace espi +{ + class PhaseCodeKind; +} + +namespace espi +{ + class UnitMultiplierKind; +} + +namespace espi +{ + class TimePeriodOfInterest; +} + +namespace espi +{ + class UnitSymbolKind; +} + +namespace espi +{ + class ReadingInterharmonic; +} + +namespace espi +{ + class TimeAttributeKind; +} + +namespace espi +{ + class RationalNumber; +} + +namespace espi +{ + class ReadingType: public ::espi::IdentifiedObject + { + public: + // accumulationBehaviour + // + typedef ::espi::AccumulationKind accumulationBehaviour_type; + typedef ::xsd::cxx::tree::optional< accumulationBehaviour_type > accumulationBehaviour_optional; + typedef ::xsd::cxx::tree::traits< accumulationBehaviour_type, char > accumulationBehaviour_traits; + + const accumulationBehaviour_optional& + accumulationBehaviour () const; + + accumulationBehaviour_optional& + accumulationBehaviour (); + + void + accumulationBehaviour (const accumulationBehaviour_type& x); + + void + accumulationBehaviour (const accumulationBehaviour_optional& x); + + void + accumulationBehaviour (::std::auto_ptr< accumulationBehaviour_type > p); + + // commodity + // + typedef ::espi::CommodityKind commodity_type; + typedef ::xsd::cxx::tree::optional< commodity_type > commodity_optional; + typedef ::xsd::cxx::tree::traits< commodity_type, char > commodity_traits; + + const commodity_optional& + commodity () const; + + commodity_optional& + commodity (); + + void + commodity (const commodity_type& x); + + void + commodity (const commodity_optional& x); + + void + commodity (::std::auto_ptr< commodity_type > p); + + // consumptionTier + // + typedef ::espi::Int16 consumptionTier_type; + typedef ::xsd::cxx::tree::optional< consumptionTier_type > consumptionTier_optional; + typedef ::xsd::cxx::tree::traits< consumptionTier_type, char > consumptionTier_traits; + + const consumptionTier_optional& + consumptionTier () const; + + consumptionTier_optional& + consumptionTier (); + + void + consumptionTier (const consumptionTier_type& x); + + void + consumptionTier (const consumptionTier_optional& x); + + void + consumptionTier (::std::auto_ptr< consumptionTier_type > p); + + // currency + // + typedef ::espi::Currency currency_type; + typedef ::xsd::cxx::tree::optional< currency_type > currency_optional; + typedef ::xsd::cxx::tree::traits< currency_type, char > currency_traits; + + const currency_optional& + currency () const; + + currency_optional& + currency (); + + void + currency (const currency_type& x); + + void + currency (const currency_optional& x); + + void + currency (::std::auto_ptr< currency_type > p); + + // dataQualifier + // + typedef ::espi::DataQualifierKind dataQualifier_type; + typedef ::xsd::cxx::tree::optional< dataQualifier_type > dataQualifier_optional; + typedef ::xsd::cxx::tree::traits< dataQualifier_type, char > dataQualifier_traits; + + const dataQualifier_optional& + dataQualifier () const; + + dataQualifier_optional& + dataQualifier (); + + void + dataQualifier (const dataQualifier_type& x); + + void + dataQualifier (const dataQualifier_optional& x); + + void + dataQualifier (::std::auto_ptr< dataQualifier_type > p); + + // defaultQuality + // + typedef ::espi::QualityOfReading defaultQuality_type; + typedef ::xsd::cxx::tree::optional< defaultQuality_type > defaultQuality_optional; + typedef ::xsd::cxx::tree::traits< defaultQuality_type, char > defaultQuality_traits; + + const defaultQuality_optional& + defaultQuality () const; + + defaultQuality_optional& + defaultQuality (); + + void + defaultQuality (const defaultQuality_type& x); + + void + defaultQuality (const defaultQuality_optional& x); + + void + defaultQuality (::std::auto_ptr< defaultQuality_type > p); + + // flowDirection + // + typedef ::espi::FlowDirectionKind flowDirection_type; + typedef ::xsd::cxx::tree::optional< flowDirection_type > flowDirection_optional; + typedef ::xsd::cxx::tree::traits< flowDirection_type, char > flowDirection_traits; + + const flowDirection_optional& + flowDirection () const; + + flowDirection_optional& + flowDirection (); + + void + flowDirection (const flowDirection_type& x); + + void + flowDirection (const flowDirection_optional& x); + + void + flowDirection (::std::auto_ptr< flowDirection_type > p); + + // intervalLength + // + typedef ::espi::UInt32 intervalLength_type; + typedef ::xsd::cxx::tree::optional< intervalLength_type > intervalLength_optional; + typedef ::xsd::cxx::tree::traits< intervalLength_type, char > intervalLength_traits; + + const intervalLength_optional& + intervalLength () const; + + intervalLength_optional& + intervalLength (); + + void + intervalLength (const intervalLength_type& x); + + void + intervalLength (const intervalLength_optional& x); + + void + intervalLength (::std::auto_ptr< intervalLength_type > p); + + // kind + // + typedef ::espi::MeasurementKind kind_type; + typedef ::xsd::cxx::tree::optional< kind_type > kind_optional; + typedef ::xsd::cxx::tree::traits< kind_type, char > kind_traits; + + const kind_optional& + kind () const; + + kind_optional& + kind (); + + void + kind (const kind_type& x); + + void + kind (const kind_optional& x); + + void + kind (::std::auto_ptr< kind_type > p); + + // phase + // + typedef ::espi::PhaseCodeKind phase_type; + typedef ::xsd::cxx::tree::optional< phase_type > phase_optional; + typedef ::xsd::cxx::tree::traits< phase_type, char > phase_traits; + + const phase_optional& + phase () const; + + phase_optional& + phase (); + + void + phase (const phase_type& x); + + void + phase (const phase_optional& x); + + void + phase (::std::auto_ptr< phase_type > p); + + // powerOfTenMultiplier + // + typedef ::espi::UnitMultiplierKind powerOfTenMultiplier_type; + typedef ::xsd::cxx::tree::optional< powerOfTenMultiplier_type > powerOfTenMultiplier_optional; + typedef ::xsd::cxx::tree::traits< powerOfTenMultiplier_type, char > powerOfTenMultiplier_traits; + + const powerOfTenMultiplier_optional& + powerOfTenMultiplier () const; + + powerOfTenMultiplier_optional& + powerOfTenMultiplier (); + + void + powerOfTenMultiplier (const powerOfTenMultiplier_type& x); + + void + powerOfTenMultiplier (const powerOfTenMultiplier_optional& x); + + void + powerOfTenMultiplier (::std::auto_ptr< powerOfTenMultiplier_type > p); + + // timeAttribute + // + typedef ::espi::TimePeriodOfInterest timeAttribute_type; + typedef ::xsd::cxx::tree::optional< timeAttribute_type > timeAttribute_optional; + typedef ::xsd::cxx::tree::traits< timeAttribute_type, char > timeAttribute_traits; + + const timeAttribute_optional& + timeAttribute () const; + + timeAttribute_optional& + timeAttribute (); + + void + timeAttribute (const timeAttribute_type& x); + + void + timeAttribute (const timeAttribute_optional& x); + + void + timeAttribute (::std::auto_ptr< timeAttribute_type > p); + + // tou + // + typedef ::espi::Int16 tou_type; + typedef ::xsd::cxx::tree::optional< tou_type > tou_optional; + typedef ::xsd::cxx::tree::traits< tou_type, char > tou_traits; + + const tou_optional& + tou () const; + + tou_optional& + tou (); + + void + tou (const tou_type& x); + + void + tou (const tou_optional& x); + + void + tou (::std::auto_ptr< tou_type > p); + + // uom + // + typedef ::espi::UnitSymbolKind uom_type; + typedef ::xsd::cxx::tree::optional< uom_type > uom_optional; + typedef ::xsd::cxx::tree::traits< uom_type, char > uom_traits; + + const uom_optional& + uom () const; + + uom_optional& + uom (); + + void + uom (const uom_type& x); + + void + uom (const uom_optional& x); + + void + uom (::std::auto_ptr< uom_type > p); + + // cpp + // + typedef ::espi::Int16 cpp_type; + typedef ::xsd::cxx::tree::optional< cpp_type > cpp_optional; + typedef ::xsd::cxx::tree::traits< cpp_type, char > cpp_traits; + + const cpp_optional& + cpp () const; + + cpp_optional& + cpp (); + + void + cpp (const cpp_type& x); + + void + cpp (const cpp_optional& x); + + void + cpp (::std::auto_ptr< cpp_type > p); + + // interharmonic + // + typedef ::espi::ReadingInterharmonic interharmonic_type; + typedef ::xsd::cxx::tree::optional< interharmonic_type > interharmonic_optional; + typedef ::xsd::cxx::tree::traits< interharmonic_type, char > interharmonic_traits; + + const interharmonic_optional& + interharmonic () const; + + interharmonic_optional& + interharmonic (); + + void + interharmonic (const interharmonic_type& x); + + void + interharmonic (const interharmonic_optional& x); + + void + interharmonic (::std::auto_ptr< interharmonic_type > p); + + // measuringPeriod + // + typedef ::espi::TimeAttributeKind measuringPeriod_type; + typedef ::xsd::cxx::tree::optional< measuringPeriod_type > measuringPeriod_optional; + typedef ::xsd::cxx::tree::traits< measuringPeriod_type, char > measuringPeriod_traits; + + const measuringPeriod_optional& + measuringPeriod () const; + + measuringPeriod_optional& + measuringPeriod (); + + void + measuringPeriod (const measuringPeriod_type& x); + + void + measuringPeriod (const measuringPeriod_optional& x); + + void + measuringPeriod (::std::auto_ptr< measuringPeriod_type > p); + + // argument + // + typedef ::espi::RationalNumber argument_type; + typedef ::xsd::cxx::tree::optional< argument_type > argument_optional; + typedef ::xsd::cxx::tree::traits< argument_type, char > argument_traits; + + const argument_optional& + argument () const; + + argument_optional& + argument (); + + void + argument (const argument_type& x); + + void + argument (const argument_optional& x); + + void + argument (::std::auto_ptr< argument_type > p); + + // Constructors. + // + ReadingType (); + + ReadingType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingType (const ReadingType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReadingType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReadingType& + operator= (const ReadingType& x); + + virtual + ~ReadingType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + accumulationBehaviour_optional accumulationBehaviour_; + commodity_optional commodity_; + consumptionTier_optional consumptionTier_; + currency_optional currency_; + dataQualifier_optional dataQualifier_; + defaultQuality_optional defaultQuality_; + flowDirection_optional flowDirection_; + intervalLength_optional intervalLength_; + kind_optional kind_; + phase_optional phase_; + powerOfTenMultiplier_optional powerOfTenMultiplier_; + timeAttribute_optional timeAttribute_; + tou_optional tou_; + uom_optional uom_; + cpp_optional cpp_; + interharmonic_optional interharmonic_; + measuringPeriod_optional measuringPeriod_; + argument_optional argument_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ReadingType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // READING_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.cxx b/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.cxx new file mode 100644 index 0000000..6e5f360 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.cxx @@ -0,0 +1,269 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReadingTypeEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReadingTypeEnumeratedType + // + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (value v) + : ::xml_schema::token (_xsd_ReadingTypeEnumeratedType_literals_[v]) + { + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ReadingTypeEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + ReadingTypeEnumeratedType& ReadingTypeEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_ReadingTypeEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReadingTypeEnumeratedType + // + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_ReadingTypeEnumeratedType_convert (); + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_ReadingTypeEnumeratedType_convert (); + } + + ReadingTypeEnumeratedType:: + ReadingTypeEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_ReadingTypeEnumeratedType_convert (); + } + + ReadingTypeEnumeratedType* ReadingTypeEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReadingTypeEnumeratedType (*this, f, c); + } + + ReadingTypeEnumeratedType::value ReadingTypeEnumeratedType:: + _xsd_ReadingTypeEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ReadingTypeEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_ReadingTypeEnumeratedType_indexes_, + _xsd_ReadingTypeEnumeratedType_indexes_ + 13, + *this, + c)); + + if (i == _xsd_ReadingTypeEnumeratedType_indexes_ + 13 || _xsd_ReadingTypeEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const ReadingTypeEnumeratedType:: + _xsd_ReadingTypeEnumeratedType_literals_[13] = + { + "Direct Read", + "Net", + "Allocated", + "Estimated", + "Summed", + "Derived", + "Mean", + "Peak", + "Hybrid", + "Contract", + "Projected", + "x-RMS", + "x-notApplicable" + }; + + const ReadingTypeEnumeratedType::value ReadingTypeEnumeratedType:: + _xsd_ReadingTypeEnumeratedType_indexes_[13] = + { + ::oadr2b::ei::ReadingTypeEnumeratedType::Allocated, + ::oadr2b::ei::ReadingTypeEnumeratedType::Contract, + ::oadr2b::ei::ReadingTypeEnumeratedType::Derived, + ::oadr2b::ei::ReadingTypeEnumeratedType::Direct_Read, + ::oadr2b::ei::ReadingTypeEnumeratedType::Estimated, + ::oadr2b::ei::ReadingTypeEnumeratedType::Hybrid, + ::oadr2b::ei::ReadingTypeEnumeratedType::Mean, + ::oadr2b::ei::ReadingTypeEnumeratedType::Net, + ::oadr2b::ei::ReadingTypeEnumeratedType::Peak, + ::oadr2b::ei::ReadingTypeEnumeratedType::Projected, + ::oadr2b::ei::ReadingTypeEnumeratedType::Summed, + ::oadr2b::ei::ReadingTypeEnumeratedType::x_RMS, + ::oadr2b::ei::ReadingTypeEnumeratedType::x_notApplicable + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReadingTypeEnumeratedType > + _xsd_ReadingTypeEnumeratedType_type_factory_init ( + "ReadingTypeEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReadingTypeEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ReadingTypeEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ReadingTypeEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReadingTypeEnumeratedType > + _xsd_ReadingTypeEnumeratedType_type_serializer_init ( + "ReadingTypeEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.hxx b/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.hxx new file mode 100644 index 0000000..9c06ed8 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingTypeEnumeratedType.hxx @@ -0,0 +1,391 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef READING_TYPE_ENUMERATED_TYPE_HXX +#define READING_TYPE_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReadingTypeEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ReadingTypeEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + Direct_Read, + Net, + Allocated, + Estimated, + Summed, + Derived, + Mean, + Peak, + Hybrid, + Contract, + Projected, + x_RMS, + x_notApplicable + }; + + ReadingTypeEnumeratedType (value v); + + ReadingTypeEnumeratedType (const char* v); + + ReadingTypeEnumeratedType (const ::std::string& v); + + ReadingTypeEnumeratedType (const ::xml_schema::token& v); + + ReadingTypeEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeEnumeratedType (const ReadingTypeEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReadingTypeEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReadingTypeEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_ReadingTypeEnumeratedType_convert (); + } + + protected: + value + _xsd_ReadingTypeEnumeratedType_convert () const; + + public: + static const char* const _xsd_ReadingTypeEnumeratedType_literals_[13]; + static const value _xsd_ReadingTypeEnumeratedType_indexes_[13]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReadingTypeEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const ReadingTypeEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const ReadingTypeEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // READING_TYPE_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReadingTypeType.cxx b/oadrsd/oadrsd/2b/ReadingTypeType.cxx new file mode 100644 index 0000000..87629b4 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingTypeType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReadingTypeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReadingTypeType + // + + ReadingTypeType:: + ReadingTypeType (const char* s) + : ::xml_schema::string (s) + { + } + + ReadingTypeType:: + ReadingTypeType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ReadingTypeType:: + ReadingTypeType (const ReadingTypeType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReadingTypeType + // + + ReadingTypeType:: + ReadingTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ReadingTypeType:: + ReadingTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ReadingTypeType:: + ReadingTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ReadingTypeType* ReadingTypeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReadingTypeType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReadingTypeType > + _xsd_ReadingTypeType_type_factory_init ( + "ReadingTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReadingTypeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ReadingTypeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ReadingTypeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReadingTypeType > + _xsd_ReadingTypeType_type_serializer_init ( + "ReadingTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReadingTypeType.hxx b/oadrsd/oadrsd/2b/ReadingTypeType.hxx new file mode 100644 index 0000000..0e4b1b5 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReadingTypeType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef READING_TYPE_TYPE_HXX +#define READING_TYPE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReadingTypeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ReadingTypeType: public ::xml_schema::string + { + public: + + ReadingTypeType (const char* v); + + ReadingTypeType (const ::std::string& v); + + ReadingTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReadingTypeType (const ReadingTypeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReadingTypeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReadingTypeType&); + + void + operator<< (::xercesc::DOMAttr&, const ReadingTypeType&); + + void + operator<< (::xml_schema::list_stream&, + const ReadingTypeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // READING_TYPE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReferenceType.cxx b/oadrsd/oadrsd/2b/ReferenceType.cxx new file mode 100644 index 0000000..c4bb1f7 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReferenceType.cxx @@ -0,0 +1,652 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReferenceType.hxx" + +#include "TransformsType.hxx" + +#include "DigestMethodType.hxx" + +#include "DigestValueType.hxx" + +namespace oadr2b +{ + namespace sig + { + // ReferenceType + // + + const ReferenceType::Transforms_optional& ReferenceType:: + Transforms () const + { + return this->Transforms_; + } + + ReferenceType::Transforms_optional& ReferenceType:: + Transforms () + { + return this->Transforms_; + } + + void ReferenceType:: + Transforms (const Transforms_type& x) + { + this->Transforms_.set (x); + } + + void ReferenceType:: + Transforms (const Transforms_optional& x) + { + this->Transforms_ = x; + } + + void ReferenceType:: + Transforms (::std::auto_ptr< Transforms_type > x) + { + this->Transforms_.set (x); + } + + const ReferenceType::DigestMethod_type& ReferenceType:: + DigestMethod () const + { + return this->DigestMethod_.get (); + } + + ReferenceType::DigestMethod_type& ReferenceType:: + DigestMethod () + { + return this->DigestMethod_.get (); + } + + void ReferenceType:: + DigestMethod (const DigestMethod_type& x) + { + this->DigestMethod_.set (x); + } + + void ReferenceType:: + DigestMethod (::std::auto_ptr< DigestMethod_type > x) + { + this->DigestMethod_.set (x); + } + + const ReferenceType::DigestValue_type& ReferenceType:: + DigestValue () const + { + return this->DigestValue_.get (); + } + + ReferenceType::DigestValue_type& ReferenceType:: + DigestValue () + { + return this->DigestValue_.get (); + } + + void ReferenceType:: + DigestValue (const DigestValue_type& x) + { + this->DigestValue_.set (x); + } + + void ReferenceType:: + DigestValue (::std::auto_ptr< DigestValue_type > x) + { + this->DigestValue_.set (x); + } + + const ReferenceType::Id_optional& ReferenceType:: + Id () const + { + return this->Id_; + } + + ReferenceType::Id_optional& ReferenceType:: + Id () + { + return this->Id_; + } + + void ReferenceType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void ReferenceType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void ReferenceType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + + const ReferenceType::URI_optional& ReferenceType:: + URI () const + { + return this->URI_; + } + + ReferenceType::URI_optional& ReferenceType:: + URI () + { + return this->URI_; + } + + void ReferenceType:: + URI (const URI_type& x) + { + this->URI_.set (x); + } + + void ReferenceType:: + URI (const URI_optional& x) + { + this->URI_ = x; + } + + void ReferenceType:: + URI (::std::auto_ptr< URI_type > x) + { + this->URI_.set (x); + } + + const ReferenceType::Type_optional& ReferenceType:: + Type () const + { + return this->Type_; + } + + ReferenceType::Type_optional& ReferenceType:: + Type () + { + return this->Type_; + } + + void ReferenceType:: + Type (const Type_type& x) + { + this->Type_.set (x); + } + + void ReferenceType:: + Type (const Type_optional& x) + { + this->Type_ = x; + } + + void ReferenceType:: + Type (::std::auto_ptr< Type_type > x) + { + this->Type_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // ReferenceType + // + + ReferenceType:: + ReferenceType (const DigestMethod_type& DigestMethod, + const DigestValue_type& DigestValue) + : ::xml_schema::type (), + Transforms_ (this), + DigestMethod_ (DigestMethod, this), + DigestValue_ (DigestValue, this), + Id_ (this), + URI_ (this), + Type_ (this) + { + } + + ReferenceType:: + ReferenceType (::std::auto_ptr< DigestMethod_type > DigestMethod, + const DigestValue_type& DigestValue) + : ::xml_schema::type (), + Transforms_ (this), + DigestMethod_ (DigestMethod, this), + DigestValue_ (DigestValue, this), + Id_ (this), + URI_ (this), + Type_ (this) + { + } + + ReferenceType:: + ReferenceType (::std::auto_ptr< DigestMethod_type > DigestMethod, + ::std::auto_ptr< DigestValue_type > DigestValue) + : ::xml_schema::type (), + Transforms_ (this), + DigestMethod_ (DigestMethod, this), + DigestValue_ (DigestValue, this), + Id_ (this), + URI_ (this), + Type_ (this) + { + } + + ReferenceType:: + ReferenceType (const ReferenceType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Transforms_ (x.Transforms_, f, this), + DigestMethod_ (x.DigestMethod_, f, this), + DigestValue_ (x.DigestValue_, f, this), + Id_ (x.Id_, f, this), + URI_ (x.URI_, f, this), + Type_ (x.Type_, f, this) + { + } + + ReferenceType:: + ReferenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Transforms_ (this), + DigestMethod_ (this), + DigestValue_ (this), + Id_ (this), + URI_ (this), + Type_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void ReferenceType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Transforms + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Transforms_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Transforms_) + { + ::std::auto_ptr< Transforms_type > r ( + dynamic_cast< Transforms_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Transforms_.set (r); + continue; + } + } + } + + // DigestMethod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< DigestMethod_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!DigestMethod_.present ()) + { + ::std::auto_ptr< DigestMethod_type > r ( + dynamic_cast< DigestMethod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->DigestMethod_.set (r); + continue; + } + } + } + + // DigestValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< DigestValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!DigestValue_.present ()) + { + ::std::auto_ptr< DigestValue_type > r ( + dynamic_cast< DigestValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->DigestValue_.set (r); + continue; + } + } + } + + break; + } + + if (!DigestMethod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + if (!DigestValue_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + + if (n.name () == "URI" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->URI_.set (URI_traits::create (i, f, this)); + continue; + } + + if (n.name () == "Type" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Type_.set (Type_traits::create (i, f, this)); + continue; + } + } + } + + ReferenceType* ReferenceType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReferenceType (*this, f, c); + } + + ReferenceType& ReferenceType:: + operator= (const ReferenceType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Transforms_ = x.Transforms_; + this->DigestMethod_ = x.DigestMethod_; + this->DigestValue_ = x.DigestValue_; + this->Id_ = x.Id_; + this->URI_ = x.URI_; + this->Type_ = x.Type_; + } + + return *this; + } + + ReferenceType:: + ~ReferenceType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReferenceType > + _xsd_ReferenceType_type_factory_init ( + "ReferenceType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const ReferenceType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Transforms + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Transforms ()) + { + const ReferenceType::Transforms_type& x (*i.Transforms ()); + if (typeid (ReferenceType::Transforms_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + + // DigestMethod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReferenceType::DigestMethod_type& x (i.DigestMethod ()); + if (typeid (ReferenceType::DigestMethod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // DigestValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReferenceType::DigestValue_type& x (i.DigestValue ()); + if (typeid (ReferenceType::DigestValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + + // URI + // + if (i.URI ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "URI", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.URI (); + } + + // Type + // + if (i.Type ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Type", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Type (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReferenceType > + _xsd_ReferenceType_type_serializer_init ( + "ReferenceType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReferenceType.hxx b/oadrsd/oadrsd/2b/ReferenceType.hxx new file mode 100644 index 0000000..f1c429c --- /dev/null +++ b/oadrsd/oadrsd/2b/ReferenceType.hxx @@ -0,0 +1,507 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REFERENCE_TYPE_HXX +#define REFERENCE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class ReferenceType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class TransformsType; + } +} + +namespace oadr2b +{ + namespace sig + { + class DigestMethodType; + } +} + +namespace oadr2b +{ + namespace sig + { + class DigestValueType; + } +} + +namespace oadr2b +{ + namespace sig + { + class ReferenceType: public ::xml_schema::type + { + public: + // Transforms + // + typedef ::oadr2b::sig::TransformsType Transforms_type; + typedef ::xsd::cxx::tree::optional< Transforms_type > Transforms_optional; + typedef ::xsd::cxx::tree::traits< Transforms_type, char > Transforms_traits; + + const Transforms_optional& + Transforms () const; + + Transforms_optional& + Transforms (); + + void + Transforms (const Transforms_type& x); + + void + Transforms (const Transforms_optional& x); + + void + Transforms (::std::auto_ptr< Transforms_type > p); + + // DigestMethod + // + typedef ::oadr2b::sig::DigestMethodType DigestMethod_type; + typedef ::xsd::cxx::tree::traits< DigestMethod_type, char > DigestMethod_traits; + + const DigestMethod_type& + DigestMethod () const; + + DigestMethod_type& + DigestMethod (); + + void + DigestMethod (const DigestMethod_type& x); + + void + DigestMethod (::std::auto_ptr< DigestMethod_type > p); + + // DigestValue + // + typedef ::oadr2b::sig::DigestValueType DigestValue_type; + typedef ::xsd::cxx::tree::traits< DigestValue_type, char > DigestValue_traits; + + const DigestValue_type& + DigestValue () const; + + DigestValue_type& + DigestValue (); + + void + DigestValue (const DigestValue_type& x); + + void + DigestValue (::std::auto_ptr< DigestValue_type > p); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // URI + // + typedef ::xml_schema::uri URI_type; + typedef ::xsd::cxx::tree::optional< URI_type > URI_optional; + typedef ::xsd::cxx::tree::traits< URI_type, char > URI_traits; + + const URI_optional& + URI () const; + + URI_optional& + URI (); + + void + URI (const URI_type& x); + + void + URI (const URI_optional& x); + + void + URI (::std::auto_ptr< URI_type > p); + + // Type + // + typedef ::xml_schema::uri Type_type; + typedef ::xsd::cxx::tree::optional< Type_type > Type_optional; + typedef ::xsd::cxx::tree::traits< Type_type, char > Type_traits; + + const Type_optional& + Type () const; + + Type_optional& + Type (); + + void + Type (const Type_type& x); + + void + Type (const Type_optional& x); + + void + Type (::std::auto_ptr< Type_type > p); + + // Constructors. + // + ReferenceType (const DigestMethod_type&, + const DigestValue_type&); + + ReferenceType (::std::auto_ptr< DigestMethod_type >, + const DigestValue_type&); + + ReferenceType (::std::auto_ptr< DigestMethod_type >, + ::std::auto_ptr< DigestValue_type >); + + ReferenceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReferenceType (const ReferenceType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReferenceType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReferenceType& + operator= (const ReferenceType& x); + + virtual + ~ReferenceType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Transforms_optional Transforms_; + ::xsd::cxx::tree::one< DigestMethod_type > DigestMethod_; + ::xsd::cxx::tree::one< DigestValue_type > DigestValue_; + Id_optional Id_; + URI_optional URI_; + Type_optional Type_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const ReferenceType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REFERENCE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReplayProtectType.cxx b/oadrsd/oadrsd/2b/ReplayProtectType.cxx new file mode 100644 index 0000000..18898bd --- /dev/null +++ b/oadrsd/oadrsd/2b/ReplayProtectType.cxx @@ -0,0 +1,385 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReplayProtectType.hxx" + +#include "NonceValueType.hxx" + +namespace oadr2b +{ + namespace dsp + { + // ReplayProtectType + // + + const ReplayProtectType::timestamp_type& ReplayProtectType:: + timestamp () const + { + return this->timestamp_.get (); + } + + ReplayProtectType::timestamp_type& ReplayProtectType:: + timestamp () + { + return this->timestamp_.get (); + } + + void ReplayProtectType:: + timestamp (const timestamp_type& x) + { + this->timestamp_.set (x); + } + + void ReplayProtectType:: + timestamp (::std::auto_ptr< timestamp_type > x) + { + this->timestamp_.set (x); + } + + const ReplayProtectType::nonce_type& ReplayProtectType:: + nonce () const + { + return this->nonce_.get (); + } + + ReplayProtectType::nonce_type& ReplayProtectType:: + nonce () + { + return this->nonce_.get (); + } + + void ReplayProtectType:: + nonce (const nonce_type& x) + { + this->nonce_.set (x); + } + + void ReplayProtectType:: + nonce (::std::auto_ptr< nonce_type > x) + { + this->nonce_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + // ReplayProtectType + // + + ReplayProtectType:: + ReplayProtectType (const timestamp_type& timestamp, + const nonce_type& nonce) + : ::xml_schema::type (), + timestamp_ (timestamp, this), + nonce_ (nonce, this) + { + } + + ReplayProtectType:: + ReplayProtectType (const timestamp_type& timestamp, + ::std::auto_ptr< nonce_type > nonce) + : ::xml_schema::type (), + timestamp_ (timestamp, this), + nonce_ (nonce, this) + { + } + + ReplayProtectType:: + ReplayProtectType (::std::auto_ptr< timestamp_type > timestamp, + ::std::auto_ptr< nonce_type > nonce) + : ::xml_schema::type (), + timestamp_ (timestamp, this), + nonce_ (nonce, this) + { + } + + ReplayProtectType:: + ReplayProtectType (const ReplayProtectType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + timestamp_ (x.timestamp_, f, this), + nonce_ (x.nonce_, f, this) + { + } + + ReplayProtectType:: + ReplayProtectType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + timestamp_ (this), + nonce_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReplayProtectType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // timestamp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "timestamp", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + &::xsd::cxx::tree::factory_impl< timestamp_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!timestamp_.present ()) + { + ::std::auto_ptr< timestamp_type > r ( + dynamic_cast< timestamp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->timestamp_.set (r); + continue; + } + } + } + + // nonce + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "nonce", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + &::xsd::cxx::tree::factory_impl< nonce_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!nonce_.present ()) + { + ::std::auto_ptr< nonce_type > r ( + dynamic_cast< nonce_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->nonce_.set (r); + continue; + } + } + } + + break; + } + + if (!timestamp_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "timestamp", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } + + if (!nonce_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "nonce", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } + } + + ReplayProtectType* ReplayProtectType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReplayProtectType (*this, f, c); + } + + ReplayProtectType& ReplayProtectType:: + operator= (const ReplayProtectType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->timestamp_ = x.timestamp_; + this->nonce_ = x.nonce_; + } + + return *this; + } + + ReplayProtectType:: + ~ReplayProtectType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReplayProtectType > + _xsd_ReplayProtectType_type_factory_init ( + "ReplayProtectType", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + void + operator<< (::xercesc::DOMElement& e, const ReplayProtectType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // timestamp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReplayProtectType::timestamp_type& x (i.timestamp ()); + if (typeid (ReplayProtectType::timestamp_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "timestamp", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + e)); + + s << x; + } + else + tsm.serialize ( + "timestamp", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + false, true, e, x); + } + + // nonce + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReplayProtectType::nonce_type& x (i.nonce ()); + if (typeid (ReplayProtectType::nonce_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "nonce", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + e)); + + s << x; + } + else + tsm.serialize ( + "nonce", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReplayProtectType > + _xsd_ReplayProtectType_type_serializer_init ( + "ReplayProtectType", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReplayProtectType.hxx b/oadrsd/oadrsd/2b/ReplayProtectType.hxx new file mode 100644 index 0000000..1ab7f0c --- /dev/null +++ b/oadrsd/oadrsd/2b/ReplayProtectType.hxx @@ -0,0 +1,403 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPLAY_PROTECT_TYPE_HXX +#define REPLAY_PROTECT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsp + { + class ReplayProtectType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsp + { + class NonceValueType; + } +} + +namespace oadr2b +{ + namespace dsp + { + class ReplayProtectType: public ::xml_schema::type + { + public: + // timestamp + // + typedef ::xml_schema::date_time timestamp_type; + typedef ::xsd::cxx::tree::traits< timestamp_type, char > timestamp_traits; + + const timestamp_type& + timestamp () const; + + timestamp_type& + timestamp (); + + void + timestamp (const timestamp_type& x); + + void + timestamp (::std::auto_ptr< timestamp_type > p); + + // nonce + // + typedef ::oadr2b::dsp::NonceValueType nonce_type; + typedef ::xsd::cxx::tree::traits< nonce_type, char > nonce_traits; + + const nonce_type& + nonce () const; + + nonce_type& + nonce (); + + void + nonce (const nonce_type& x); + + void + nonce (::std::auto_ptr< nonce_type > p); + + // Constructors. + // + ReplayProtectType (const timestamp_type&, + const nonce_type&); + + ReplayProtectType (const timestamp_type&, + ::std::auto_ptr< nonce_type >); + + ReplayProtectType (::std::auto_ptr< timestamp_type >, + ::std::auto_ptr< nonce_type >); + + ReplayProtectType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReplayProtectType (const ReplayProtectType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReplayProtectType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReplayProtectType& + operator= (const ReplayProtectType& x); + + virtual + ~ReplayProtectType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< timestamp_type > timestamp_; + ::xsd::cxx::tree::one< nonce_type > nonce_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsp + { + void + operator<< (::xercesc::DOMElement&, const ReplayProtectType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPLAY_PROTECT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReportEnumeratedType.cxx b/oadrsd/oadrsd/2b/ReportEnumeratedType.cxx new file mode 100644 index 0000000..226f779 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportEnumeratedType.cxx @@ -0,0 +1,291 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReportEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReportEnumeratedType + // + + ReportEnumeratedType:: + ReportEnumeratedType (value v) + : ::xml_schema::token (_xsd_ReportEnumeratedType_literals_[v]) + { + } + + ReportEnumeratedType:: + ReportEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + ReportEnumeratedType:: + ReportEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + ReportEnumeratedType:: + ReportEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + ReportEnumeratedType:: + ReportEnumeratedType (const ReportEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + ReportEnumeratedType& ReportEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_ReportEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReportEnumeratedType + // + + ReportEnumeratedType:: + ReportEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_ReportEnumeratedType_convert (); + } + + ReportEnumeratedType:: + ReportEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_ReportEnumeratedType_convert (); + } + + ReportEnumeratedType:: + ReportEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_ReportEnumeratedType_convert (); + } + + ReportEnumeratedType* ReportEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReportEnumeratedType (*this, f, c); + } + + ReportEnumeratedType::value ReportEnumeratedType:: + _xsd_ReportEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ReportEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_ReportEnumeratedType_indexes_, + _xsd_ReportEnumeratedType_indexes_ + 24, + *this, + c)); + + if (i == _xsd_ReportEnumeratedType_indexes_ + 24 || _xsd_ReportEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const ReportEnumeratedType:: + _xsd_ReportEnumeratedType_literals_[24] = + { + "reading", + "usage", + "demand", + "setPoint", + "deltaUsage", + "deltaSetPoint", + "deltaDemand", + "baseline", + "deviation", + "avgUsage", + "avgDemand", + "operatingState", + "upRegulationCapacityAvailable", + "downRegulationCapacityAvailable", + "regulationSetpoint", + "storedEnergy", + "targetEnergyStorage", + "availableEnergyStorage", + "price", + "level", + "powerFactor", + "percentUsage", + "percentDemand", + "x-resourceStatus" + }; + + const ReportEnumeratedType::value ReportEnumeratedType:: + _xsd_ReportEnumeratedType_indexes_[24] = + { + ::oadr2b::ei::ReportEnumeratedType::availableEnergyStorage, + ::oadr2b::ei::ReportEnumeratedType::avgDemand, + ::oadr2b::ei::ReportEnumeratedType::avgUsage, + ::oadr2b::ei::ReportEnumeratedType::baseline, + ::oadr2b::ei::ReportEnumeratedType::deltaDemand, + ::oadr2b::ei::ReportEnumeratedType::deltaSetPoint, + ::oadr2b::ei::ReportEnumeratedType::deltaUsage, + ::oadr2b::ei::ReportEnumeratedType::demand, + ::oadr2b::ei::ReportEnumeratedType::deviation, + ::oadr2b::ei::ReportEnumeratedType::downRegulationCapacityAvailable, + ::oadr2b::ei::ReportEnumeratedType::level, + ::oadr2b::ei::ReportEnumeratedType::operatingState, + ::oadr2b::ei::ReportEnumeratedType::percentDemand, + ::oadr2b::ei::ReportEnumeratedType::percentUsage, + ::oadr2b::ei::ReportEnumeratedType::powerFactor, + ::oadr2b::ei::ReportEnumeratedType::price, + ::oadr2b::ei::ReportEnumeratedType::reading, + ::oadr2b::ei::ReportEnumeratedType::regulationSetpoint, + ::oadr2b::ei::ReportEnumeratedType::setPoint, + ::oadr2b::ei::ReportEnumeratedType::storedEnergy, + ::oadr2b::ei::ReportEnumeratedType::targetEnergyStorage, + ::oadr2b::ei::ReportEnumeratedType::upRegulationCapacityAvailable, + ::oadr2b::ei::ReportEnumeratedType::usage, + ::oadr2b::ei::ReportEnumeratedType::x_resourceStatus + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReportEnumeratedType > + _xsd_ReportEnumeratedType_type_factory_init ( + "ReportEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReportEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ReportEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ReportEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReportEnumeratedType > + _xsd_ReportEnumeratedType_type_serializer_init ( + "ReportEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReportEnumeratedType.hxx b/oadrsd/oadrsd/2b/ReportEnumeratedType.hxx new file mode 100644 index 0000000..3aabaa4 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportEnumeratedType.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_ENUMERATED_TYPE_HXX +#define REPORT_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReportEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ReportEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + reading, + usage, + demand, + setPoint, + deltaUsage, + deltaSetPoint, + deltaDemand, + baseline, + deviation, + avgUsage, + avgDemand, + operatingState, + upRegulationCapacityAvailable, + downRegulationCapacityAvailable, + regulationSetpoint, + storedEnergy, + targetEnergyStorage, + availableEnergyStorage, + price, + level, + powerFactor, + percentUsage, + percentDemand, + x_resourceStatus + }; + + ReportEnumeratedType (value v); + + ReportEnumeratedType (const char* v); + + ReportEnumeratedType (const ::std::string& v); + + ReportEnumeratedType (const ::xml_schema::token& v); + + ReportEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportEnumeratedType (const ReportEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReportEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReportEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_ReportEnumeratedType_convert (); + } + + protected: + value + _xsd_ReportEnumeratedType_convert () const; + + public: + static const char* const _xsd_ReportEnumeratedType_literals_[24]; + static const value _xsd_ReportEnumeratedType_indexes_[24]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReportEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const ReportEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const ReportEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReportPayloadType.cxx b/oadrsd/oadrsd/2b/ReportPayloadType.cxx new file mode 100644 index 0000000..416ee1d --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportPayloadType.cxx @@ -0,0 +1,560 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReportPayloadType.hxx" + +#include "ConfidenceType.hxx" + +#include "AccuracyType.hxx" + +#include "PayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReportPayloadType + // + + const ReportPayloadType::rID_type& ReportPayloadType:: + rID () const + { + return this->rID_.get (); + } + + ReportPayloadType::rID_type& ReportPayloadType:: + rID () + { + return this->rID_.get (); + } + + void ReportPayloadType:: + rID (const rID_type& x) + { + this->rID_.set (x); + } + + void ReportPayloadType:: + rID (::std::auto_ptr< rID_type > x) + { + this->rID_.set (x); + } + + const ReportPayloadType::confidence_optional& ReportPayloadType:: + confidence () const + { + return this->confidence_; + } + + ReportPayloadType::confidence_optional& ReportPayloadType:: + confidence () + { + return this->confidence_; + } + + void ReportPayloadType:: + confidence (const confidence_type& x) + { + this->confidence_.set (x); + } + + void ReportPayloadType:: + confidence (const confidence_optional& x) + { + this->confidence_ = x; + } + + void ReportPayloadType:: + confidence (::std::auto_ptr< confidence_type > x) + { + this->confidence_.set (x); + } + + const ReportPayloadType::accuracy_optional& ReportPayloadType:: + accuracy () const + { + return this->accuracy_; + } + + ReportPayloadType::accuracy_optional& ReportPayloadType:: + accuracy () + { + return this->accuracy_; + } + + void ReportPayloadType:: + accuracy (const accuracy_type& x) + { + this->accuracy_.set (x); + } + + void ReportPayloadType:: + accuracy (const accuracy_optional& x) + { + this->accuracy_ = x; + } + + void ReportPayloadType:: + accuracy (::std::auto_ptr< accuracy_type > x) + { + this->accuracy_.set (x); + } + + const ReportPayloadType::payloadBase_type& ReportPayloadType:: + payloadBase () const + { + return this->payloadBase_.get (); + } + + ReportPayloadType::payloadBase_type& ReportPayloadType:: + payloadBase () + { + return this->payloadBase_.get (); + } + + void ReportPayloadType:: + payloadBase (const payloadBase_type& x) + { + this->payloadBase_.set (x); + } + + void ReportPayloadType:: + payloadBase (::std::auto_ptr< payloadBase_type > x) + { + this->payloadBase_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReportPayloadType + // + + ReportPayloadType:: + ReportPayloadType (const rID_type& rID, + const payloadBase_type& payloadBase) + : ::stream::StreamPayloadBaseType (), + rID_ (rID, this), + confidence_ (this), + accuracy_ (this), + payloadBase_ (payloadBase, this) + { + } + + ReportPayloadType:: + ReportPayloadType (::std::auto_ptr< rID_type > rID, + ::std::auto_ptr< payloadBase_type > payloadBase) + : ::stream::StreamPayloadBaseType (), + rID_ (rID, this), + confidence_ (this), + accuracy_ (this), + payloadBase_ (payloadBase, this) + { + } + + ReportPayloadType:: + ReportPayloadType (const ReportPayloadType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (x, f, c), + rID_ (x.rID_, f, this), + confidence_ (x.confidence_, f, this), + accuracy_ (x.accuracy_, f, this), + payloadBase_ (x.payloadBase_, f, this) + { + } + + ReportPayloadType:: + ReportPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (e, f | ::xml_schema::flags::base, c), + rID_ (this), + confidence_ (this), + accuracy_ (this), + payloadBase_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReportPayloadType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // rID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< rID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!rID_.present ()) + { + ::std::auto_ptr< rID_type > r ( + dynamic_cast< rID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rID_.set (r); + continue; + } + } + } + + // confidence + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< confidence_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->confidence_) + { + ::std::auto_ptr< confidence_type > r ( + dynamic_cast< confidence_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->confidence_.set (r); + continue; + } + } + } + + // accuracy + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< accuracy_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->accuracy_) + { + ::std::auto_ptr< accuracy_type > r ( + dynamic_cast< accuracy_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->accuracy_.set (r); + continue; + } + } + } + + // payloadBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< payloadBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!payloadBase_.present ()) + { + ::std::auto_ptr< payloadBase_type > r ( + dynamic_cast< payloadBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->payloadBase_.set (r); + continue; + } + } + } + + break; + } + + if (!rID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!payloadBase_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + ReportPayloadType* ReportPayloadType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReportPayloadType (*this, f, c); + } + + ReportPayloadType& ReportPayloadType:: + operator= (const ReportPayloadType& x) + { + if (this != &x) + { + static_cast< ::stream::StreamPayloadBaseType& > (*this) = x; + this->rID_ = x.rID_; + this->confidence_ = x.confidence_; + this->accuracy_ = x.accuracy_; + this->payloadBase_ = x.payloadBase_; + } + + return *this; + } + + ReportPayloadType:: + ~ReportPayloadType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReportPayloadType > + _xsd_ReportPayloadType_type_factory_init ( + "ReportPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReportPayloadType& i) + { + e << static_cast< const ::stream::StreamPayloadBaseType& > (i); + + // rID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReportPayloadType::rID_type& x (i.rID ()); + if (typeid (ReportPayloadType::rID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // confidence + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.confidence ()) + { + const ReportPayloadType::confidence_type& x (*i.confidence ()); + if (typeid (ReportPayloadType::confidence_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // accuracy + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.accuracy ()) + { + const ReportPayloadType::accuracy_type& x (*i.accuracy ()); + if (typeid (ReportPayloadType::accuracy_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // payloadBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReportPayloadType::payloadBase_type& x (i.payloadBase ()); + if (typeid (ReportPayloadType::payloadBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReportPayloadType > + _xsd_ReportPayloadType_type_serializer_init ( + "ReportPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReportPayloadType.hxx b/oadrsd/oadrsd/2b/ReportPayloadType.hxx new file mode 100644 index 0000000..89db2ea --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportPayloadType.hxx @@ -0,0 +1,462 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_PAYLOAD_TYPE_HXX +#define REPORT_PAYLOAD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReportPayloadType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "StreamPayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + class ConfidenceType; + } +} + +namespace oadr2b +{ + namespace ei + { + class AccuracyType; + } +} + +namespace oadr2b +{ + namespace ei + { + class PayloadBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ReportPayloadType: public ::stream::StreamPayloadBaseType + { + public: + // rID + // + typedef ::xml_schema::string rID_type; + typedef ::xsd::cxx::tree::traits< rID_type, char > rID_traits; + + const rID_type& + rID () const; + + rID_type& + rID (); + + void + rID (const rID_type& x); + + void + rID (::std::auto_ptr< rID_type > p); + + // confidence + // + typedef ::oadr2b::ei::ConfidenceType confidence_type; + typedef ::xsd::cxx::tree::optional< confidence_type > confidence_optional; + typedef ::xsd::cxx::tree::traits< confidence_type, char > confidence_traits; + + const confidence_optional& + confidence () const; + + confidence_optional& + confidence (); + + void + confidence (const confidence_type& x); + + void + confidence (const confidence_optional& x); + + void + confidence (::std::auto_ptr< confidence_type > p); + + // accuracy + // + typedef ::oadr2b::ei::AccuracyType accuracy_type; + typedef ::xsd::cxx::tree::optional< accuracy_type > accuracy_optional; + typedef ::xsd::cxx::tree::traits< accuracy_type, char > accuracy_traits; + + const accuracy_optional& + accuracy () const; + + accuracy_optional& + accuracy (); + + void + accuracy (const accuracy_type& x); + + void + accuracy (const accuracy_optional& x); + + void + accuracy (::std::auto_ptr< accuracy_type > p); + + // payloadBase + // + typedef ::oadr2b::ei::PayloadBaseType payloadBase_type; + typedef ::xsd::cxx::tree::traits< payloadBase_type, char > payloadBase_traits; + + const payloadBase_type& + payloadBase () const; + + payloadBase_type& + payloadBase (); + + void + payloadBase (const payloadBase_type& x); + + void + payloadBase (::std::auto_ptr< payloadBase_type > p); + + // Constructors. + // + ReportPayloadType (const rID_type&, + const payloadBase_type&); + + ReportPayloadType (::std::auto_ptr< rID_type >, + ::std::auto_ptr< payloadBase_type >); + + ReportPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportPayloadType (const ReportPayloadType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReportPayloadType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReportPayloadType& + operator= (const ReportPayloadType& x); + + virtual + ~ReportPayloadType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< rID_type > rID_; + confidence_optional confidence_; + accuracy_optional accuracy_; + ::xsd::cxx::tree::one< payloadBase_type > payloadBase_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReportPayloadType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_PAYLOAD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReportSpecifierType.cxx b/oadrsd/oadrsd/2b/ReportSpecifierType.cxx new file mode 100644 index 0000000..a832bfc --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportSpecifierType.cxx @@ -0,0 +1,649 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReportSpecifierType.hxx" + +#include "DurationPropType.hxx" + +#include "WsCalendarIntervalType.hxx" + +#include "SpecifierPayloadType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReportSpecifierType + // + + const ReportSpecifierType::reportSpecifierID_type& ReportSpecifierType:: + reportSpecifierID () const + { + return this->reportSpecifierID_.get (); + } + + ReportSpecifierType::reportSpecifierID_type& ReportSpecifierType:: + reportSpecifierID () + { + return this->reportSpecifierID_.get (); + } + + void ReportSpecifierType:: + reportSpecifierID (const reportSpecifierID_type& x) + { + this->reportSpecifierID_.set (x); + } + + void ReportSpecifierType:: + reportSpecifierID (::std::auto_ptr< reportSpecifierID_type > x) + { + this->reportSpecifierID_.set (x); + } + + const ReportSpecifierType::granularity_type& ReportSpecifierType:: + granularity () const + { + return this->granularity_.get (); + } + + ReportSpecifierType::granularity_type& ReportSpecifierType:: + granularity () + { + return this->granularity_.get (); + } + + void ReportSpecifierType:: + granularity (const granularity_type& x) + { + this->granularity_.set (x); + } + + void ReportSpecifierType:: + granularity (::std::auto_ptr< granularity_type > x) + { + this->granularity_.set (x); + } + + const ReportSpecifierType::reportBackDuration_type& ReportSpecifierType:: + reportBackDuration () const + { + return this->reportBackDuration_.get (); + } + + ReportSpecifierType::reportBackDuration_type& ReportSpecifierType:: + reportBackDuration () + { + return this->reportBackDuration_.get (); + } + + void ReportSpecifierType:: + reportBackDuration (const reportBackDuration_type& x) + { + this->reportBackDuration_.set (x); + } + + void ReportSpecifierType:: + reportBackDuration (::std::auto_ptr< reportBackDuration_type > x) + { + this->reportBackDuration_.set (x); + } + + const ReportSpecifierType::reportInterval_optional& ReportSpecifierType:: + reportInterval () const + { + return this->reportInterval_; + } + + ReportSpecifierType::reportInterval_optional& ReportSpecifierType:: + reportInterval () + { + return this->reportInterval_; + } + + void ReportSpecifierType:: + reportInterval (const reportInterval_type& x) + { + this->reportInterval_.set (x); + } + + void ReportSpecifierType:: + reportInterval (const reportInterval_optional& x) + { + this->reportInterval_ = x; + } + + void ReportSpecifierType:: + reportInterval (::std::auto_ptr< reportInterval_type > x) + { + this->reportInterval_.set (x); + } + + const ReportSpecifierType::specifierPayload_sequence& ReportSpecifierType:: + specifierPayload () const + { + return this->specifierPayload_; + } + + ReportSpecifierType::specifierPayload_sequence& ReportSpecifierType:: + specifierPayload () + { + return this->specifierPayload_; + } + + void ReportSpecifierType:: + specifierPayload (const specifierPayload_sequence& s) + { + this->specifierPayload_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReportSpecifierType + // + + ReportSpecifierType:: + ReportSpecifierType (const reportSpecifierID_type& reportSpecifierID, + const granularity_type& granularity, + const reportBackDuration_type& reportBackDuration) + : ::xml_schema::type (), + reportSpecifierID_ (reportSpecifierID, this), + granularity_ (granularity, this), + reportBackDuration_ (reportBackDuration, this), + reportInterval_ (this), + specifierPayload_ (this) + { + } + + ReportSpecifierType:: + ReportSpecifierType (const reportSpecifierID_type& reportSpecifierID, + ::std::auto_ptr< granularity_type > granularity, + ::std::auto_ptr< reportBackDuration_type > reportBackDuration) + : ::xml_schema::type (), + reportSpecifierID_ (reportSpecifierID, this), + granularity_ (granularity, this), + reportBackDuration_ (reportBackDuration, this), + reportInterval_ (this), + specifierPayload_ (this) + { + } + + ReportSpecifierType:: + ReportSpecifierType (::std::auto_ptr< reportSpecifierID_type > reportSpecifierID, + ::std::auto_ptr< granularity_type > granularity, + ::std::auto_ptr< reportBackDuration_type > reportBackDuration) + : ::xml_schema::type (), + reportSpecifierID_ (reportSpecifierID, this), + granularity_ (granularity, this), + reportBackDuration_ (reportBackDuration, this), + reportInterval_ (this), + specifierPayload_ (this) + { + } + + ReportSpecifierType:: + ReportSpecifierType (const ReportSpecifierType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + reportSpecifierID_ (x.reportSpecifierID_, f, this), + granularity_ (x.granularity_, f, this), + reportBackDuration_ (x.reportBackDuration_, f, this), + reportInterval_ (x.reportInterval_, f, this), + specifierPayload_ (x.specifierPayload_, f, this) + { + } + + ReportSpecifierType:: + ReportSpecifierType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + reportSpecifierID_ (this), + granularity_ (this), + reportBackDuration_ (this), + reportInterval_ (this), + specifierPayload_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ReportSpecifierType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // reportSpecifierID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportSpecifierID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportSpecifierID_.present ()) + { + ::std::auto_ptr< reportSpecifierID_type > r ( + dynamic_cast< reportSpecifierID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportSpecifierID_.set (r); + continue; + } + } + } + + // granularity + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< granularity_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!granularity_.present ()) + { + ::std::auto_ptr< granularity_type > r ( + dynamic_cast< granularity_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->granularity_.set (r); + continue; + } + } + } + + // reportBackDuration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportBackDuration", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportBackDuration_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportBackDuration_.present ()) + { + ::std::auto_ptr< reportBackDuration_type > r ( + dynamic_cast< reportBackDuration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportBackDuration_.set (r); + continue; + } + } + } + + // reportInterval + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportInterval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportInterval_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->reportInterval_) + { + ::std::auto_ptr< reportInterval_type > r ( + dynamic_cast< reportInterval_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportInterval_.set (r); + continue; + } + } + } + + // specifierPayload + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< specifierPayload_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< specifierPayload_type > r ( + dynamic_cast< specifierPayload_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->specifierPayload_.push_back (r); + continue; + } + } + + break; + } + + if (!reportSpecifierID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!granularity_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + if (!reportBackDuration_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportBackDuration", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + ReportSpecifierType* ReportSpecifierType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReportSpecifierType (*this, f, c); + } + + ReportSpecifierType& ReportSpecifierType:: + operator= (const ReportSpecifierType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->reportSpecifierID_ = x.reportSpecifierID_; + this->granularity_ = x.granularity_; + this->reportBackDuration_ = x.reportBackDuration_; + this->reportInterval_ = x.reportInterval_; + this->specifierPayload_ = x.specifierPayload_; + } + + return *this; + } + + ReportSpecifierType:: + ~ReportSpecifierType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReportSpecifierType > + _xsd_ReportSpecifierType_type_factory_init ( + "ReportSpecifierType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReportSpecifierType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // reportSpecifierID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReportSpecifierType::reportSpecifierID_type& x (i.reportSpecifierID ()); + if (typeid (ReportSpecifierType::reportSpecifierID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // granularity + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReportSpecifierType::granularity_type& x (i.granularity ()); + if (typeid (ReportSpecifierType::granularity_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + + // reportBackDuration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ReportSpecifierType::reportBackDuration_type& x (i.reportBackDuration ()); + if (typeid (ReportSpecifierType::reportBackDuration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportBackDuration", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportBackDuration", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + + // reportInterval + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.reportInterval ()) + { + const ReportSpecifierType::reportInterval_type& x (*i.reportInterval ()); + if (typeid (ReportSpecifierType::reportInterval_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportInterval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportInterval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + } + + // specifierPayload + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (ReportSpecifierType::specifierPayload_const_iterator + b (i.specifierPayload ().begin ()), n (i.specifierPayload ().end ()); + b != n; ++b) + { + if (typeid (ReportSpecifierType::specifierPayload_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReportSpecifierType > + _xsd_ReportSpecifierType_type_serializer_init ( + "ReportSpecifierType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReportSpecifierType.hxx b/oadrsd/oadrsd/2b/ReportSpecifierType.hxx new file mode 100644 index 0000000..bc96eec --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportSpecifierType.hxx @@ -0,0 +1,474 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_SPECIFIER_TYPE_HXX +#define REPORT_SPECIFIER_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReportSpecifierType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace icalendar_2_0 +{ + class WsCalendarIntervalType; +} + +namespace oadr2b +{ + namespace ei + { + class SpecifierPayloadType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ReportSpecifierType: public ::xml_schema::type + { + public: + // reportSpecifierID + // + typedef ::xml_schema::string reportSpecifierID_type; + typedef ::xsd::cxx::tree::traits< reportSpecifierID_type, char > reportSpecifierID_traits; + + const reportSpecifierID_type& + reportSpecifierID () const; + + reportSpecifierID_type& + reportSpecifierID (); + + void + reportSpecifierID (const reportSpecifierID_type& x); + + void + reportSpecifierID (::std::auto_ptr< reportSpecifierID_type > p); + + // granularity + // + typedef ::icalendar_2_0::DurationPropType granularity_type; + typedef ::xsd::cxx::tree::traits< granularity_type, char > granularity_traits; + + const granularity_type& + granularity () const; + + granularity_type& + granularity (); + + void + granularity (const granularity_type& x); + + void + granularity (::std::auto_ptr< granularity_type > p); + + // reportBackDuration + // + typedef ::icalendar_2_0::DurationPropType reportBackDuration_type; + typedef ::xsd::cxx::tree::traits< reportBackDuration_type, char > reportBackDuration_traits; + + const reportBackDuration_type& + reportBackDuration () const; + + reportBackDuration_type& + reportBackDuration (); + + void + reportBackDuration (const reportBackDuration_type& x); + + void + reportBackDuration (::std::auto_ptr< reportBackDuration_type > p); + + // reportInterval + // + typedef ::icalendar_2_0::WsCalendarIntervalType reportInterval_type; + typedef ::xsd::cxx::tree::optional< reportInterval_type > reportInterval_optional; + typedef ::xsd::cxx::tree::traits< reportInterval_type, char > reportInterval_traits; + + const reportInterval_optional& + reportInterval () const; + + reportInterval_optional& + reportInterval (); + + void + reportInterval (const reportInterval_type& x); + + void + reportInterval (const reportInterval_optional& x); + + void + reportInterval (::std::auto_ptr< reportInterval_type > p); + + // specifierPayload + // + typedef ::oadr2b::ei::SpecifierPayloadType specifierPayload_type; + typedef ::xsd::cxx::tree::sequence< specifierPayload_type > specifierPayload_sequence; + typedef specifierPayload_sequence::iterator specifierPayload_iterator; + typedef specifierPayload_sequence::const_iterator specifierPayload_const_iterator; + typedef ::xsd::cxx::tree::traits< specifierPayload_type, char > specifierPayload_traits; + + const specifierPayload_sequence& + specifierPayload () const; + + specifierPayload_sequence& + specifierPayload (); + + void + specifierPayload (const specifierPayload_sequence& s); + + // Constructors. + // + ReportSpecifierType (const reportSpecifierID_type&, + const granularity_type&, + const reportBackDuration_type&); + + ReportSpecifierType (const reportSpecifierID_type&, + ::std::auto_ptr< granularity_type >, + ::std::auto_ptr< reportBackDuration_type >); + + ReportSpecifierType (::std::auto_ptr< reportSpecifierID_type >, + ::std::auto_ptr< granularity_type >, + ::std::auto_ptr< reportBackDuration_type >); + + ReportSpecifierType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportSpecifierType (const ReportSpecifierType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReportSpecifierType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ReportSpecifierType& + operator= (const ReportSpecifierType& x); + + virtual + ~ReportSpecifierType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< reportSpecifierID_type > reportSpecifierID_; + ::xsd::cxx::tree::one< granularity_type > granularity_; + ::xsd::cxx::tree::one< reportBackDuration_type > reportBackDuration_; + reportInterval_optional reportInterval_; + specifierPayload_sequence specifierPayload_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReportSpecifierType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_SPECIFIER_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ReportTypeType.cxx b/oadrsd/oadrsd/2b/ReportTypeType.cxx new file mode 100644 index 0000000..c982d90 --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportTypeType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ReportTypeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ReportTypeType + // + + ReportTypeType:: + ReportTypeType (const char* s) + : ::xml_schema::string (s) + { + } + + ReportTypeType:: + ReportTypeType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ReportTypeType:: + ReportTypeType (const ReportTypeType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ReportTypeType + // + + ReportTypeType:: + ReportTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ReportTypeType:: + ReportTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ReportTypeType:: + ReportTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ReportTypeType* ReportTypeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ReportTypeType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ReportTypeType > + _xsd_ReportTypeType_type_factory_init ( + "ReportTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ReportTypeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ReportTypeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ReportTypeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ReportTypeType > + _xsd_ReportTypeType_type_serializer_init ( + "ReportTypeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ReportTypeType.hxx b/oadrsd/oadrsd/2b/ReportTypeType.hxx new file mode 100644 index 0000000..b694efd --- /dev/null +++ b/oadrsd/oadrsd/2b/ReportTypeType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_TYPE_TYPE_HXX +#define REPORT_TYPE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ReportTypeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ReportTypeType: public ::xml_schema::string + { + public: + + ReportTypeType (const char* v); + + ReportTypeType (const ::std::string& v); + + ReportTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ReportTypeType (const ReportTypeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ReportTypeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ReportTypeType&); + + void + operator<< (::xercesc::DOMAttr&, const ReportTypeType&); + + void + operator<< (::xml_schema::list_stream&, + const ReportTypeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_TYPE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ResponseCodeType.cxx b/oadrsd/oadrsd/2b/ResponseCodeType.cxx new file mode 100644 index 0000000..99acb94 --- /dev/null +++ b/oadrsd/oadrsd/2b/ResponseCodeType.cxx @@ -0,0 +1,208 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ResponseCodeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // ResponseCodeType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // ResponseCodeType + // + + ResponseCodeType:: + ResponseCodeType () + : ::xml_schema::string () + { + } + + ResponseCodeType:: + ResponseCodeType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + ResponseCodeType:: + ResponseCodeType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + ResponseCodeType:: + ResponseCodeType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + ResponseCodeType:: + ResponseCodeType (const ResponseCodeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + ResponseCodeType:: + ResponseCodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ResponseCodeType:: + ResponseCodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ResponseCodeType:: + ResponseCodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ResponseCodeType* ResponseCodeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ResponseCodeType (*this, f, c); + } + + ResponseCodeType:: + ~ResponseCodeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ResponseCodeType > + _xsd_ResponseCodeType_type_factory_init ( + "ResponseCodeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const ResponseCodeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ResponseCodeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ResponseCodeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ResponseCodeType > + _xsd_ResponseCodeType_type_serializer_init ( + "ResponseCodeType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ResponseCodeType.hxx b/oadrsd/oadrsd/2b/ResponseCodeType.hxx new file mode 100644 index 0000000..3612524 --- /dev/null +++ b/oadrsd/oadrsd/2b/ResponseCodeType.hxx @@ -0,0 +1,362 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef RESPONSE_CODE_TYPE_HXX +#define RESPONSE_CODE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class ResponseCodeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ResponseCodeType: public ::xml_schema::string + { + public: + // Constructors. + // + ResponseCodeType (); + + ResponseCodeType (const char*); + + ResponseCodeType (const ::std::string&); + + ResponseCodeType (const ::xml_schema::string&); + + ResponseCodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseCodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseCodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseCodeType (const ResponseCodeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ResponseCodeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~ResponseCodeType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const ResponseCodeType&); + + void + operator<< (::xercesc::DOMAttr&, const ResponseCodeType&); + + void + operator<< (::xml_schema::list_stream&, + const ResponseCodeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // RESPONSE_CODE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ResponseRequiredType.cxx b/oadrsd/oadrsd/2b/ResponseRequiredType.cxx new file mode 100644 index 0000000..f84f4d9 --- /dev/null +++ b/oadrsd/oadrsd/2b/ResponseRequiredType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ResponseRequiredType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // ResponseRequiredType + // + + ResponseRequiredType:: + ResponseRequiredType (value v) + : ::xml_schema::string (_xsd_ResponseRequiredType_literals_[v]) + { + } + + ResponseRequiredType:: + ResponseRequiredType (const char* v) + : ::xml_schema::string (v) + { + } + + ResponseRequiredType:: + ResponseRequiredType (const ::std::string& v) + : ::xml_schema::string (v) + { + } + + ResponseRequiredType:: + ResponseRequiredType (const ::xml_schema::string& v) + : ::xml_schema::string (v) + { + } + + ResponseRequiredType:: + ResponseRequiredType (const ResponseRequiredType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (v, f, c) + { + } + + ResponseRequiredType& ResponseRequiredType:: + operator= (value v) + { + static_cast< ::xml_schema::string& > (*this) = + ::xml_schema::string (_xsd_ResponseRequiredType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // ResponseRequiredType + // + + ResponseRequiredType:: + ResponseRequiredType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + _xsd_ResponseRequiredType_convert (); + } + + ResponseRequiredType:: + ResponseRequiredType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + _xsd_ResponseRequiredType_convert (); + } + + ResponseRequiredType:: + ResponseRequiredType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + _xsd_ResponseRequiredType_convert (); + } + + ResponseRequiredType* ResponseRequiredType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ResponseRequiredType (*this, f, c); + } + + ResponseRequiredType::value ResponseRequiredType:: + _xsd_ResponseRequiredType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_ResponseRequiredType_literals_); + const value* i (::std::lower_bound ( + _xsd_ResponseRequiredType_indexes_, + _xsd_ResponseRequiredType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_ResponseRequiredType_indexes_ + 2 || _xsd_ResponseRequiredType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const ResponseRequiredType:: + _xsd_ResponseRequiredType_literals_[2] = + { + "always", + "never" + }; + + const ResponseRequiredType::value ResponseRequiredType:: + _xsd_ResponseRequiredType_indexes_[2] = + { + ::oadr2b::oadr::ResponseRequiredType::always, + ::oadr2b::oadr::ResponseRequiredType::never + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ResponseRequiredType > + _xsd_ResponseRequiredType_type_factory_init ( + "ResponseRequiredType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const ResponseRequiredType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ResponseRequiredType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ResponseRequiredType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ResponseRequiredType > + _xsd_ResponseRequiredType_type_serializer_init ( + "ResponseRequiredType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ResponseRequiredType.hxx b/oadrsd/oadrsd/2b/ResponseRequiredType.hxx new file mode 100644 index 0000000..55ea833 --- /dev/null +++ b/oadrsd/oadrsd/2b/ResponseRequiredType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef RESPONSE_REQUIRED_TYPE_HXX +#define RESPONSE_REQUIRED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class ResponseRequiredType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class ResponseRequiredType: public ::xml_schema::string + { + public: + enum value + { + always, + never + }; + + ResponseRequiredType (value v); + + ResponseRequiredType (const char* v); + + ResponseRequiredType (const ::std::string& v); + + ResponseRequiredType (const ::xml_schema::string& v); + + ResponseRequiredType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseRequiredType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseRequiredType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ResponseRequiredType (const ResponseRequiredType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ResponseRequiredType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ResponseRequiredType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_ResponseRequiredType_convert (); + } + + protected: + value + _xsd_ResponseRequiredType_convert () const; + + public: + static const char* const _xsd_ResponseRequiredType_literals_[2]; + static const value _xsd_ResponseRequiredType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const ResponseRequiredType&); + + void + operator<< (::xercesc::DOMAttr&, const ResponseRequiredType&); + + void + operator<< (::xml_schema::list_stream&, + const ResponseRequiredType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // RESPONSE_REQUIRED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/RetrievalMethodType.cxx b/oadrsd/oadrsd/2b/RetrievalMethodType.cxx new file mode 100644 index 0000000..731e5f6 --- /dev/null +++ b/oadrsd/oadrsd/2b/RetrievalMethodType.cxx @@ -0,0 +1,394 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "RetrievalMethodType.hxx" + +#include "TransformsType.hxx" + +namespace oadr2b +{ + namespace sig + { + // RetrievalMethodType + // + + const RetrievalMethodType::Transforms_optional& RetrievalMethodType:: + Transforms () const + { + return this->Transforms_; + } + + RetrievalMethodType::Transforms_optional& RetrievalMethodType:: + Transforms () + { + return this->Transforms_; + } + + void RetrievalMethodType:: + Transforms (const Transforms_type& x) + { + this->Transforms_.set (x); + } + + void RetrievalMethodType:: + Transforms (const Transforms_optional& x) + { + this->Transforms_ = x; + } + + void RetrievalMethodType:: + Transforms (::std::auto_ptr< Transforms_type > x) + { + this->Transforms_.set (x); + } + + const RetrievalMethodType::URI_optional& RetrievalMethodType:: + URI () const + { + return this->URI_; + } + + RetrievalMethodType::URI_optional& RetrievalMethodType:: + URI () + { + return this->URI_; + } + + void RetrievalMethodType:: + URI (const URI_type& x) + { + this->URI_.set (x); + } + + void RetrievalMethodType:: + URI (const URI_optional& x) + { + this->URI_ = x; + } + + void RetrievalMethodType:: + URI (::std::auto_ptr< URI_type > x) + { + this->URI_.set (x); + } + + const RetrievalMethodType::Type_optional& RetrievalMethodType:: + Type () const + { + return this->Type_; + } + + RetrievalMethodType::Type_optional& RetrievalMethodType:: + Type () + { + return this->Type_; + } + + void RetrievalMethodType:: + Type (const Type_type& x) + { + this->Type_.set (x); + } + + void RetrievalMethodType:: + Type (const Type_optional& x) + { + this->Type_ = x; + } + + void RetrievalMethodType:: + Type (::std::auto_ptr< Type_type > x) + { + this->Type_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // RetrievalMethodType + // + + RetrievalMethodType:: + RetrievalMethodType () + : ::xml_schema::type (), + Transforms_ (this), + URI_ (this), + Type_ (this) + { + } + + RetrievalMethodType:: + RetrievalMethodType (const RetrievalMethodType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Transforms_ (x.Transforms_, f, this), + URI_ (x.URI_, f, this), + Type_ (x.Type_, f, this) + { + } + + RetrievalMethodType:: + RetrievalMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Transforms_ (this), + URI_ (this), + Type_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void RetrievalMethodType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Transforms + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Transforms_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Transforms_) + { + ::std::auto_ptr< Transforms_type > r ( + dynamic_cast< Transforms_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Transforms_.set (r); + continue; + } + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "URI" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->URI_.set (URI_traits::create (i, f, this)); + continue; + } + + if (n.name () == "Type" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Type_.set (Type_traits::create (i, f, this)); + continue; + } + } + } + + RetrievalMethodType* RetrievalMethodType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class RetrievalMethodType (*this, f, c); + } + + RetrievalMethodType& RetrievalMethodType:: + operator= (const RetrievalMethodType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Transforms_ = x.Transforms_; + this->URI_ = x.URI_; + this->Type_ = x.Type_; + } + + return *this; + } + + RetrievalMethodType:: + ~RetrievalMethodType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, RetrievalMethodType > + _xsd_RetrievalMethodType_type_factory_init ( + "RetrievalMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const RetrievalMethodType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Transforms + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Transforms ()) + { + const RetrievalMethodType::Transforms_type& x (*i.Transforms ()); + if (typeid (RetrievalMethodType::Transforms_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + + // URI + // + if (i.URI ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "URI", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.URI (); + } + + // Type + // + if (i.Type ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Type", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Type (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, RetrievalMethodType > + _xsd_RetrievalMethodType_type_serializer_init ( + "RetrievalMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/RetrievalMethodType.hxx b/oadrsd/oadrsd/2b/RetrievalMethodType.hxx new file mode 100644 index 0000000..1913cfb --- /dev/null +++ b/oadrsd/oadrsd/2b/RetrievalMethodType.hxx @@ -0,0 +1,426 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef RETRIEVAL_METHOD_TYPE_HXX +#define RETRIEVAL_METHOD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class RetrievalMethodType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class TransformsType; + } +} + +namespace oadr2b +{ + namespace sig + { + class RetrievalMethodType: public ::xml_schema::type + { + public: + // Transforms + // + typedef ::oadr2b::sig::TransformsType Transforms_type; + typedef ::xsd::cxx::tree::optional< Transforms_type > Transforms_optional; + typedef ::xsd::cxx::tree::traits< Transforms_type, char > Transforms_traits; + + const Transforms_optional& + Transforms () const; + + Transforms_optional& + Transforms (); + + void + Transforms (const Transforms_type& x); + + void + Transforms (const Transforms_optional& x); + + void + Transforms (::std::auto_ptr< Transforms_type > p); + + // URI + // + typedef ::xml_schema::uri URI_type; + typedef ::xsd::cxx::tree::optional< URI_type > URI_optional; + typedef ::xsd::cxx::tree::traits< URI_type, char > URI_traits; + + const URI_optional& + URI () const; + + URI_optional& + URI (); + + void + URI (const URI_type& x); + + void + URI (const URI_optional& x); + + void + URI (::std::auto_ptr< URI_type > p); + + // Type + // + typedef ::xml_schema::uri Type_type; + typedef ::xsd::cxx::tree::optional< Type_type > Type_optional; + typedef ::xsd::cxx::tree::traits< Type_type, char > Type_traits; + + const Type_optional& + Type () const; + + Type_optional& + Type (); + + void + Type (const Type_type& x); + + void + Type (const Type_optional& x); + + void + Type (::std::auto_ptr< Type_type > p); + + // Constructors. + // + RetrievalMethodType (); + + RetrievalMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + RetrievalMethodType (const RetrievalMethodType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual RetrievalMethodType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + RetrievalMethodType& + operator= (const RetrievalMethodType& x); + + virtual + ~RetrievalMethodType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Transforms_optional Transforms_; + URI_optional URI_; + Type_optional Type_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const RetrievalMethodType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // RETRIEVAL_METHOD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SPKIDataType.cxx b/oadrsd/oadrsd/2b/SPKIDataType.cxx new file mode 100644 index 0000000..6c491dc --- /dev/null +++ b/oadrsd/oadrsd/2b/SPKIDataType.cxx @@ -0,0 +1,265 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SPKIDataType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SPKIDataType + // + + const SPKIDataType::SPKISexp_sequence& SPKIDataType:: + SPKISexp () const + { + return this->SPKISexp_; + } + + SPKIDataType::SPKISexp_sequence& SPKIDataType:: + SPKISexp () + { + return this->SPKISexp_; + } + + void SPKIDataType:: + SPKISexp (const SPKISexp_sequence& s) + { + this->SPKISexp_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SPKIDataType + // + + SPKIDataType:: + SPKIDataType () + : ::xml_schema::type (), + SPKISexp_ (this) + { + } + + SPKIDataType:: + SPKIDataType (const SPKIDataType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + SPKISexp_ (x.SPKISexp_, f, this) + { + } + + SPKIDataType:: + SPKIDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + SPKISexp_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void SPKIDataType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // SPKISexp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SPKISexp", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SPKISexp_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< SPKISexp_type > r ( + dynamic_cast< SPKISexp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SPKISexp_.push_back (r); + continue; + } + } + + break; + } + } + + SPKIDataType* SPKIDataType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SPKIDataType (*this, f, c); + } + + SPKIDataType& SPKIDataType:: + operator= (const SPKIDataType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->SPKISexp_ = x.SPKISexp_; + } + + return *this; + } + + SPKIDataType:: + ~SPKIDataType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SPKIDataType > + _xsd_SPKIDataType_type_factory_init ( + "SPKIDataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SPKIDataType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // SPKISexp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (SPKIDataType::SPKISexp_const_iterator + b (i.SPKISexp ().begin ()), n (i.SPKISexp ().end ()); + b != n; ++b) + { + if (typeid (SPKIDataType::SPKISexp_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SPKISexp", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "SPKISexp", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SPKIDataType > + _xsd_SPKIDataType_type_serializer_init ( + "SPKIDataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SPKIDataType.hxx b/oadrsd/oadrsd/2b/SPKIDataType.hxx new file mode 100644 index 0000000..8c5a91e --- /dev/null +++ b/oadrsd/oadrsd/2b/SPKIDataType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SPKIDATA_TYPE_HXX +#define SPKIDATA_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SPKIDataType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SPKIDataType: public ::xml_schema::type + { + public: + // SPKISexp + // + typedef ::xml_schema::base64_binary SPKISexp_type; + typedef ::xsd::cxx::tree::sequence< SPKISexp_type > SPKISexp_sequence; + typedef SPKISexp_sequence::iterator SPKISexp_iterator; + typedef SPKISexp_sequence::const_iterator SPKISexp_const_iterator; + typedef ::xsd::cxx::tree::traits< SPKISexp_type, char > SPKISexp_traits; + + const SPKISexp_sequence& + SPKISexp () const; + + SPKISexp_sequence& + SPKISexp (); + + void + SPKISexp (const SPKISexp_sequence& s); + + // Constructors. + // + SPKIDataType (); + + SPKIDataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SPKIDataType (const SPKIDataType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SPKIDataType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SPKIDataType& + operator= (const SPKIDataType& x); + + virtual + ~SPKIDataType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + SPKISexp_sequence SPKISexp_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SPKIDataType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SPKIDATA_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ServiceAreaType.cxx b/oadrsd/oadrsd/2b/ServiceAreaType.cxx new file mode 100644 index 0000000..21b3db8 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceAreaType.cxx @@ -0,0 +1,260 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceAreaType.hxx" + +#include "FeatureCollection.hxx" + +namespace oadr2b +{ + namespace emix + { + // ServiceAreaType + // + + const ServiceAreaType::FeatureCollection_type& ServiceAreaType:: + FeatureCollection () const + { + return this->FeatureCollection_.get (); + } + + ServiceAreaType::FeatureCollection_type& ServiceAreaType:: + FeatureCollection () + { + return this->FeatureCollection_.get (); + } + + void ServiceAreaType:: + FeatureCollection (const FeatureCollection_type& x) + { + this->FeatureCollection_.set (x); + } + + void ServiceAreaType:: + FeatureCollection (::std::auto_ptr< FeatureCollection_type > x) + { + this->FeatureCollection_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + // ServiceAreaType + // + + ServiceAreaType:: + ServiceAreaType (const FeatureCollection_type& FeatureCollection) + : ::xml_schema::type (), + FeatureCollection_ (FeatureCollection, this) + { + } + + ServiceAreaType:: + ServiceAreaType (::std::auto_ptr< FeatureCollection_type > FeatureCollection) + : ::xml_schema::type (), + FeatureCollection_ (FeatureCollection, this) + { + } + + ServiceAreaType:: + ServiceAreaType (const ServiceAreaType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + FeatureCollection_ (x.FeatureCollection_, f, this) + { + } + + ServiceAreaType:: + ServiceAreaType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + FeatureCollection_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceAreaType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // FeatureCollection + // + if (n.name () == "FeatureCollection" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< FeatureCollection_type > r ( + FeatureCollection_traits::create (i, f, this)); + + if (!FeatureCollection_.present ()) + { + this->FeatureCollection_.set (r); + continue; + } + } + + break; + } + + if (!FeatureCollection_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "FeatureCollection", + "http://www.opengis.net/gml/3.2"); + } + } + + ServiceAreaType* ServiceAreaType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceAreaType (*this, f, c); + } + + ServiceAreaType& ServiceAreaType:: + operator= (const ServiceAreaType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->FeatureCollection_ = x.FeatureCollection_; + } + + return *this; + } + + ServiceAreaType:: + ~ServiceAreaType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceAreaType > + _xsd_ServiceAreaType_type_factory_init ( + "ServiceAreaType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement& e, const ServiceAreaType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // FeatureCollection + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "FeatureCollection", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.FeatureCollection (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceAreaType > + _xsd_ServiceAreaType_type_serializer_init ( + "ServiceAreaType", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceAreaType.hxx b/oadrsd/oadrsd/2b/ServiceAreaType.hxx new file mode 100644 index 0000000..6fd6dee --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceAreaType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_AREA_TYPE_HXX +#define SERVICE_AREA_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace emix + { + class ServiceAreaType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class FeatureCollection; + } +} + +namespace oadr2b +{ + namespace emix + { + class ServiceAreaType: public ::xml_schema::type + { + public: + // FeatureCollection + // + typedef ::oadr2b::gml::FeatureCollection FeatureCollection_type; + typedef ::xsd::cxx::tree::traits< FeatureCollection_type, char > FeatureCollection_traits; + + const FeatureCollection_type& + FeatureCollection () const; + + FeatureCollection_type& + FeatureCollection (); + + void + FeatureCollection (const FeatureCollection_type& x); + + void + FeatureCollection (::std::auto_ptr< FeatureCollection_type > p); + + // Constructors. + // + ServiceAreaType (const FeatureCollection_type&); + + ServiceAreaType (::std::auto_ptr< FeatureCollection_type >); + + ServiceAreaType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceAreaType (const ServiceAreaType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceAreaType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceAreaType& + operator= (const ServiceAreaType& x); + + virtual + ~ServiceAreaType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< FeatureCollection_type > FeatureCollection_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + void + operator<< (::xercesc::DOMElement&, const ServiceAreaType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_AREA_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ServiceCategory.cxx b/oadrsd/oadrsd/2b/ServiceCategory.cxx new file mode 100644 index 0000000..e21d0d6 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceCategory.cxx @@ -0,0 +1,276 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceCategory.hxx" + +#include "ServiceKind.hxx" + +namespace espi +{ + // ServiceCategory + // + + const ServiceCategory::kind_type& ServiceCategory:: + kind () const + { + return this->kind_.get (); + } + + ServiceCategory::kind_type& ServiceCategory:: + kind () + { + return this->kind_.get (); + } + + void ServiceCategory:: + kind (const kind_type& x) + { + this->kind_.set (x); + } + + void ServiceCategory:: + kind (::std::auto_ptr< kind_type > x) + { + this->kind_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ServiceCategory + // + + ServiceCategory:: + ServiceCategory (const kind_type& kind) + : ::espi::Object (), + kind_ (kind, this) + { + } + + ServiceCategory:: + ServiceCategory (::std::auto_ptr< kind_type > kind) + : ::espi::Object (), + kind_ (kind, this) + { + } + + ServiceCategory:: + ServiceCategory (const ServiceCategory& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + kind_ (x.kind_, f, this) + { + } + + ServiceCategory:: + ServiceCategory (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + kind_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceCategory:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // kind + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "kind", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< kind_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!kind_.present ()) + { + ::std::auto_ptr< kind_type > r ( + dynamic_cast< kind_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->kind_.set (r); + continue; + } + } + } + + break; + } + + if (!kind_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "kind", + "http://naesb.org/espi"); + } + } + + ServiceCategory* ServiceCategory:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceCategory (*this, f, c); + } + + ServiceCategory& ServiceCategory:: + operator= (const ServiceCategory& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->kind_ = x.kind_; + } + + return *this; + } + + ServiceCategory:: + ~ServiceCategory () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceCategory > + _xsd_ServiceCategory_type_factory_init ( + "ServiceCategory", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceCategory& i) + { + e << static_cast< const ::espi::Object& > (i); + + // kind + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ServiceCategory::kind_type& x (i.kind ()); + if (typeid (ServiceCategory::kind_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "kind", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "kind", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceCategory > + _xsd_ServiceCategory_type_serializer_init ( + "ServiceCategory", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceCategory.hxx b/oadrsd/oadrsd/2b/ServiceCategory.hxx new file mode 100644 index 0000000..3dd1f23 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceCategory.hxx @@ -0,0 +1,367 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_CATEGORY_HXX +#define SERVICE_CATEGORY_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ServiceCategory; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class ServiceKind; +} + +namespace espi +{ + class ServiceCategory: public ::espi::Object + { + public: + // kind + // + typedef ::espi::ServiceKind kind_type; + typedef ::xsd::cxx::tree::traits< kind_type, char > kind_traits; + + const kind_type& + kind () const; + + kind_type& + kind (); + + void + kind (const kind_type& x); + + void + kind (::std::auto_ptr< kind_type > p); + + // Constructors. + // + ServiceCategory (const kind_type&); + + ServiceCategory (::std::auto_ptr< kind_type >); + + ServiceCategory (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceCategory (const ServiceCategory& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceCategory* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceCategory& + operator= (const ServiceCategory& x); + + virtual + ~ServiceCategory (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< kind_type > kind_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ServiceCategory&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_CATEGORY_HXX diff --git a/oadrsd/oadrsd/2b/ServiceDeliveryPoint.cxx b/oadrsd/oadrsd/2b/ServiceDeliveryPoint.cxx new file mode 100644 index 0000000..25d7f2a --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceDeliveryPoint.cxx @@ -0,0 +1,449 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceDeliveryPoint.hxx" + +#include "String256.hxx" + +namespace espi +{ + // ServiceDeliveryPoint + // + + const ServiceDeliveryPoint::name_optional& ServiceDeliveryPoint:: + name () const + { + return this->name_; + } + + ServiceDeliveryPoint::name_optional& ServiceDeliveryPoint:: + name () + { + return this->name_; + } + + void ServiceDeliveryPoint:: + name (const name_type& x) + { + this->name_.set (x); + } + + void ServiceDeliveryPoint:: + name (const name_optional& x) + { + this->name_ = x; + } + + void ServiceDeliveryPoint:: + name (::std::auto_ptr< name_type > x) + { + this->name_.set (x); + } + + const ServiceDeliveryPoint::tariffProfile_optional& ServiceDeliveryPoint:: + tariffProfile () const + { + return this->tariffProfile_; + } + + ServiceDeliveryPoint::tariffProfile_optional& ServiceDeliveryPoint:: + tariffProfile () + { + return this->tariffProfile_; + } + + void ServiceDeliveryPoint:: + tariffProfile (const tariffProfile_type& x) + { + this->tariffProfile_.set (x); + } + + void ServiceDeliveryPoint:: + tariffProfile (const tariffProfile_optional& x) + { + this->tariffProfile_ = x; + } + + void ServiceDeliveryPoint:: + tariffProfile (::std::auto_ptr< tariffProfile_type > x) + { + this->tariffProfile_.set (x); + } + + const ServiceDeliveryPoint::customerAgreement_optional& ServiceDeliveryPoint:: + customerAgreement () const + { + return this->customerAgreement_; + } + + ServiceDeliveryPoint::customerAgreement_optional& ServiceDeliveryPoint:: + customerAgreement () + { + return this->customerAgreement_; + } + + void ServiceDeliveryPoint:: + customerAgreement (const customerAgreement_type& x) + { + this->customerAgreement_.set (x); + } + + void ServiceDeliveryPoint:: + customerAgreement (const customerAgreement_optional& x) + { + this->customerAgreement_ = x; + } + + void ServiceDeliveryPoint:: + customerAgreement (::std::auto_ptr< customerAgreement_type > x) + { + this->customerAgreement_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ServiceDeliveryPoint + // + + ServiceDeliveryPoint:: + ServiceDeliveryPoint () + : ::espi::Object (), + name_ (this), + tariffProfile_ (this), + customerAgreement_ (this) + { + } + + ServiceDeliveryPoint:: + ServiceDeliveryPoint (const ServiceDeliveryPoint& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + name_ (x.name_, f, this), + tariffProfile_ (x.tariffProfile_, f, this), + customerAgreement_ (x.customerAgreement_, f, this) + { + } + + ServiceDeliveryPoint:: + ServiceDeliveryPoint (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + name_ (this), + tariffProfile_ (this), + customerAgreement_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceDeliveryPoint:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // name + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "name", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< name_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->name_) + { + ::std::auto_ptr< name_type > r ( + dynamic_cast< name_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->name_.set (r); + continue; + } + } + } + + // tariffProfile + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "tariffProfile", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< tariffProfile_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->tariffProfile_) + { + ::std::auto_ptr< tariffProfile_type > r ( + dynamic_cast< tariffProfile_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->tariffProfile_.set (r); + continue; + } + } + } + + // customerAgreement + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "customerAgreement", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< customerAgreement_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->customerAgreement_) + { + ::std::auto_ptr< customerAgreement_type > r ( + dynamic_cast< customerAgreement_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->customerAgreement_.set (r); + continue; + } + } + } + + break; + } + } + + ServiceDeliveryPoint* ServiceDeliveryPoint:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceDeliveryPoint (*this, f, c); + } + + ServiceDeliveryPoint& ServiceDeliveryPoint:: + operator= (const ServiceDeliveryPoint& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->name_ = x.name_; + this->tariffProfile_ = x.tariffProfile_; + this->customerAgreement_ = x.customerAgreement_; + } + + return *this; + } + + ServiceDeliveryPoint:: + ~ServiceDeliveryPoint () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceDeliveryPoint > + _xsd_ServiceDeliveryPoint_type_factory_init ( + "ServiceDeliveryPoint", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceDeliveryPoint& i) + { + e << static_cast< const ::espi::Object& > (i); + + // name + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.name ()) + { + const ServiceDeliveryPoint::name_type& x (*i.name ()); + if (typeid (ServiceDeliveryPoint::name_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "name", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "name", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // tariffProfile + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.tariffProfile ()) + { + const ServiceDeliveryPoint::tariffProfile_type& x (*i.tariffProfile ()); + if (typeid (ServiceDeliveryPoint::tariffProfile_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tariffProfile", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "tariffProfile", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // customerAgreement + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.customerAgreement ()) + { + const ServiceDeliveryPoint::customerAgreement_type& x (*i.customerAgreement ()); + if (typeid (ServiceDeliveryPoint::customerAgreement_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "customerAgreement", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "customerAgreement", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceDeliveryPoint > + _xsd_ServiceDeliveryPoint_type_serializer_init ( + "ServiceDeliveryPoint", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceDeliveryPoint.hxx b/oadrsd/oadrsd/2b/ServiceDeliveryPoint.hxx new file mode 100644 index 0000000..0e4e9d5 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceDeliveryPoint.hxx @@ -0,0 +1,413 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_DELIVERY_POINT_HXX +#define SERVICE_DELIVERY_POINT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ServiceDeliveryPoint; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class String256; +} + +namespace espi +{ + class ServiceDeliveryPoint: public ::espi::Object + { + public: + // name + // + typedef ::espi::String256 name_type; + typedef ::xsd::cxx::tree::optional< name_type > name_optional; + typedef ::xsd::cxx::tree::traits< name_type, char > name_traits; + + const name_optional& + name () const; + + name_optional& + name (); + + void + name (const name_type& x); + + void + name (const name_optional& x); + + void + name (::std::auto_ptr< name_type > p); + + // tariffProfile + // + typedef ::espi::String256 tariffProfile_type; + typedef ::xsd::cxx::tree::optional< tariffProfile_type > tariffProfile_optional; + typedef ::xsd::cxx::tree::traits< tariffProfile_type, char > tariffProfile_traits; + + const tariffProfile_optional& + tariffProfile () const; + + tariffProfile_optional& + tariffProfile (); + + void + tariffProfile (const tariffProfile_type& x); + + void + tariffProfile (const tariffProfile_optional& x); + + void + tariffProfile (::std::auto_ptr< tariffProfile_type > p); + + // customerAgreement + // + typedef ::espi::String256 customerAgreement_type; + typedef ::xsd::cxx::tree::optional< customerAgreement_type > customerAgreement_optional; + typedef ::xsd::cxx::tree::traits< customerAgreement_type, char > customerAgreement_traits; + + const customerAgreement_optional& + customerAgreement () const; + + customerAgreement_optional& + customerAgreement (); + + void + customerAgreement (const customerAgreement_type& x); + + void + customerAgreement (const customerAgreement_optional& x); + + void + customerAgreement (::std::auto_ptr< customerAgreement_type > p); + + // Constructors. + // + ServiceDeliveryPoint (); + + ServiceDeliveryPoint (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceDeliveryPoint (const ServiceDeliveryPoint& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceDeliveryPoint* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceDeliveryPoint& + operator= (const ServiceDeliveryPoint& x); + + virtual + ~ServiceDeliveryPoint (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + name_optional name_; + tariffProfile_optional tariffProfile_; + customerAgreement_optional customerAgreement_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ServiceDeliveryPoint&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_DELIVERY_POINT_HXX diff --git a/oadrsd/oadrsd/2b/ServiceDeliveryPointType.cxx b/oadrsd/oadrsd/2b/ServiceDeliveryPointType.cxx new file mode 100644 index 0000000..7669355 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceDeliveryPointType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceDeliveryPointType.hxx" + +#include "NodeType.hxx" + +namespace power +{ + // ServiceDeliveryPointType + // + + const ServiceDeliveryPointType::node_type& ServiceDeliveryPointType:: + node () const + { + return this->node_.get (); + } + + ServiceDeliveryPointType::node_type& ServiceDeliveryPointType:: + node () + { + return this->node_.get (); + } + + void ServiceDeliveryPointType:: + node (const node_type& x) + { + this->node_.set (x); + } + + void ServiceDeliveryPointType:: + node (::std::auto_ptr< node_type > x) + { + this->node_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // ServiceDeliveryPointType + // + + ServiceDeliveryPointType:: + ServiceDeliveryPointType (const node_type& node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + ServiceDeliveryPointType:: + ServiceDeliveryPointType (::std::auto_ptr< node_type > node) + : ::xml_schema::type (), + node_ (node, this) + { + } + + ServiceDeliveryPointType:: + ServiceDeliveryPointType (const ServiceDeliveryPointType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + node_ (x.node_, f, this) + { + } + + ServiceDeliveryPointType:: + ServiceDeliveryPointType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + node_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceDeliveryPointType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // node + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< node_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!node_.present ()) + { + ::std::auto_ptr< node_type > r ( + dynamic_cast< node_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->node_.set (r); + continue; + } + } + } + + break; + } + + if (!node_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + ServiceDeliveryPointType* ServiceDeliveryPointType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceDeliveryPointType (*this, f, c); + } + + ServiceDeliveryPointType& ServiceDeliveryPointType:: + operator= (const ServiceDeliveryPointType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->node_ = x.node_; + } + + return *this; + } + + ServiceDeliveryPointType:: + ~ServiceDeliveryPointType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceDeliveryPointType > + _xsd_ServiceDeliveryPointType_type_factory_init ( + "ServiceDeliveryPointType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceDeliveryPointType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // node + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ServiceDeliveryPointType::node_type& x (i.node ()); + if (typeid (ServiceDeliveryPointType::node_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceDeliveryPointType > + _xsd_ServiceDeliveryPointType_type_serializer_init ( + "ServiceDeliveryPointType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceDeliveryPointType.hxx b/oadrsd/oadrsd/2b/ServiceDeliveryPointType.hxx new file mode 100644 index 0000000..9386b74 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceDeliveryPointType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_DELIVERY_POINT_TYPE_HXX +#define SERVICE_DELIVERY_POINT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class ServiceDeliveryPointType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class NodeType; +} + +namespace power +{ + class ServiceDeliveryPointType: public ::xml_schema::type + { + public: + // node + // + typedef ::power::NodeType node_type; + typedef ::xsd::cxx::tree::traits< node_type, char > node_traits; + + const node_type& + node () const; + + node_type& + node (); + + void + node (const node_type& x); + + void + node (::std::auto_ptr< node_type > p); + + // Constructors. + // + ServiceDeliveryPointType (const node_type&); + + ServiceDeliveryPointType (::std::auto_ptr< node_type >); + + ServiceDeliveryPointType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceDeliveryPointType (const ServiceDeliveryPointType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceDeliveryPointType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceDeliveryPointType& + operator= (const ServiceDeliveryPointType& x); + + virtual + ~ServiceDeliveryPointType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< node_type > node_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const ServiceDeliveryPointType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_DELIVERY_POINT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ServiceKind.cxx b/oadrsd/oadrsd/2b/ServiceKind.cxx new file mode 100644 index 0000000..27ca95d --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceKind.hxx" + +namespace espi +{ + // ServiceKind + // + + ServiceKind:: + ServiceKind (const char* s) + : ::xml_schema::string (s) + { + } + + ServiceKind:: + ServiceKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ServiceKind:: + ServiceKind (const ServiceKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ServiceKind + // + + ServiceKind:: + ServiceKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ServiceKind:: + ServiceKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ServiceKind:: + ServiceKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ServiceKind* ServiceKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceKind > + _xsd_ServiceKind_type_factory_init ( + "ServiceKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ServiceKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ServiceKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceKind > + _xsd_ServiceKind_type_serializer_init ( + "ServiceKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceKind.hxx b/oadrsd/oadrsd/2b/ServiceKind.hxx new file mode 100644 index 0000000..13457b6 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_KIND_HXX +#define SERVICE_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ServiceKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ServiceKind: public ::xml_schema::string + { + public: + + ServiceKind (const char* v); + + ServiceKind (const ::std::string& v); + + ServiceKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind (const ServiceKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ServiceKind&); + + void + operator<< (::xercesc::DOMAttr&, const ServiceKind&); + + void + operator<< (::xml_schema::list_stream&, + const ServiceKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_KIND_HXX diff --git a/oadrsd/oadrsd/2b/ServiceKind_member.cxx b/oadrsd/oadrsd/2b/ServiceKind_member.cxx new file mode 100644 index 0000000..59755cc --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceKind_member.hxx" + +namespace espi +{ + // ServiceKind_member + // + + ServiceKind_member:: + ServiceKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + ServiceKind_member:: + ServiceKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + ServiceKind_member:: + ServiceKind_member (const ServiceKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ServiceKind_member + // + + ServiceKind_member:: + ServiceKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + ServiceKind_member:: + ServiceKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + ServiceKind_member:: + ServiceKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + ServiceKind_member* ServiceKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ServiceKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ServiceKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceKind_member.hxx b/oadrsd/oadrsd/2b/ServiceKind_member.hxx new file mode 100644 index 0000000..9396be6 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_KIND_MEMBER_HXX +#define SERVICE_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ServiceKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class ServiceKind_member: public ::espi::UInt16 + { + public: + ServiceKind_member (::xml_schema::unsigned_short v); + + ServiceKind_member (const ::espi::UInt16& v); + + ServiceKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceKind_member (const ServiceKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ServiceKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const ServiceKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const ServiceKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/ServiceLocationType.cxx b/oadrsd/oadrsd/2b/ServiceLocationType.cxx new file mode 100644 index 0000000..8f55698 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceLocationType.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceLocationType.hxx" + +#include "FeatureCollection.hxx" + +namespace power +{ + // ServiceLocationType + // + + const ServiceLocationType::FeatureCollection_type& ServiceLocationType:: + FeatureCollection () const + { + return this->FeatureCollection_.get (); + } + + ServiceLocationType::FeatureCollection_type& ServiceLocationType:: + FeatureCollection () + { + return this->FeatureCollection_.get (); + } + + void ServiceLocationType:: + FeatureCollection (const FeatureCollection_type& x) + { + this->FeatureCollection_.set (x); + } + + void ServiceLocationType:: + FeatureCollection (::std::auto_ptr< FeatureCollection_type > x) + { + this->FeatureCollection_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // ServiceLocationType + // + + ServiceLocationType:: + ServiceLocationType (const FeatureCollection_type& FeatureCollection) + : ::xml_schema::type (), + FeatureCollection_ (FeatureCollection, this) + { + } + + ServiceLocationType:: + ServiceLocationType (::std::auto_ptr< FeatureCollection_type > FeatureCollection) + : ::xml_schema::type (), + FeatureCollection_ (FeatureCollection, this) + { + } + + ServiceLocationType:: + ServiceLocationType (const ServiceLocationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + FeatureCollection_ (x.FeatureCollection_, f, this) + { + } + + ServiceLocationType:: + ServiceLocationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + FeatureCollection_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceLocationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // FeatureCollection + // + if (n.name () == "FeatureCollection" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< FeatureCollection_type > r ( + FeatureCollection_traits::create (i, f, this)); + + if (!FeatureCollection_.present ()) + { + this->FeatureCollection_.set (r); + continue; + } + } + + break; + } + + if (!FeatureCollection_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "FeatureCollection", + "http://www.opengis.net/gml/3.2"); + } + } + + ServiceLocationType* ServiceLocationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceLocationType (*this, f, c); + } + + ServiceLocationType& ServiceLocationType:: + operator= (const ServiceLocationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->FeatureCollection_ = x.FeatureCollection_; + } + + return *this; + } + + ServiceLocationType:: + ~ServiceLocationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceLocationType > + _xsd_ServiceLocationType_type_factory_init ( + "ServiceLocationType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceLocationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // FeatureCollection + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "FeatureCollection", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.FeatureCollection (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceLocationType > + _xsd_ServiceLocationType_type_serializer_init ( + "ServiceLocationType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceLocationType.hxx b/oadrsd/oadrsd/2b/ServiceLocationType.hxx new file mode 100644 index 0000000..57f82c3 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceLocationType.hxx @@ -0,0 +1,368 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_LOCATION_TYPE_HXX +#define SERVICE_LOCATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class ServiceLocationType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class FeatureCollection; + } +} + +namespace power +{ + class ServiceLocationType: public ::xml_schema::type + { + public: + // FeatureCollection + // + typedef ::oadr2b::gml::FeatureCollection FeatureCollection_type; + typedef ::xsd::cxx::tree::traits< FeatureCollection_type, char > FeatureCollection_traits; + + const FeatureCollection_type& + FeatureCollection () const; + + FeatureCollection_type& + FeatureCollection (); + + void + FeatureCollection (const FeatureCollection_type& x); + + void + FeatureCollection (::std::auto_ptr< FeatureCollection_type > p); + + // Constructors. + // + ServiceLocationType (const FeatureCollection_type&); + + ServiceLocationType (::std::auto_ptr< FeatureCollection_type >); + + ServiceLocationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceLocationType (const ServiceLocationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceLocationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceLocationType& + operator= (const ServiceLocationType& x); + + virtual + ~ServiceLocationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< FeatureCollection_type > FeatureCollection_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const ServiceLocationType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_LOCATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ServiceStatus.cxx b/oadrsd/oadrsd/2b/ServiceStatus.cxx new file mode 100644 index 0000000..b10a185 --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceStatus.cxx @@ -0,0 +1,276 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ServiceStatus.hxx" + +#include "ESPIServiceStatus.hxx" + +namespace espi +{ + // ServiceStatus + // + + const ServiceStatus::currentStatus_type& ServiceStatus:: + currentStatus () const + { + return this->currentStatus_.get (); + } + + ServiceStatus::currentStatus_type& ServiceStatus:: + currentStatus () + { + return this->currentStatus_.get (); + } + + void ServiceStatus:: + currentStatus (const currentStatus_type& x) + { + this->currentStatus_.set (x); + } + + void ServiceStatus:: + currentStatus (::std::auto_ptr< currentStatus_type > x) + { + this->currentStatus_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ServiceStatus + // + + ServiceStatus:: + ServiceStatus (const currentStatus_type& currentStatus) + : ::espi::Object (), + currentStatus_ (currentStatus, this) + { + } + + ServiceStatus:: + ServiceStatus (::std::auto_ptr< currentStatus_type > currentStatus) + : ::espi::Object (), + currentStatus_ (currentStatus, this) + { + } + + ServiceStatus:: + ServiceStatus (const ServiceStatus& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + currentStatus_ (x.currentStatus_, f, this) + { + } + + ServiceStatus:: + ServiceStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + currentStatus_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ServiceStatus:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // currentStatus + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentStatus", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< currentStatus_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!currentStatus_.present ()) + { + ::std::auto_ptr< currentStatus_type > r ( + dynamic_cast< currentStatus_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentStatus_.set (r); + continue; + } + } + } + + break; + } + + if (!currentStatus_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "currentStatus", + "http://naesb.org/espi"); + } + } + + ServiceStatus* ServiceStatus:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ServiceStatus (*this, f, c); + } + + ServiceStatus& ServiceStatus:: + operator= (const ServiceStatus& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->currentStatus_ = x.currentStatus_; + } + + return *this; + } + + ServiceStatus:: + ~ServiceStatus () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ServiceStatus > + _xsd_ServiceStatus_type_factory_init ( + "ServiceStatus", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ServiceStatus& i) + { + e << static_cast< const ::espi::Object& > (i); + + // currentStatus + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ServiceStatus::currentStatus_type& x (i.currentStatus ()); + if (typeid (ServiceStatus::currentStatus_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentStatus", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "currentStatus", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ServiceStatus > + _xsd_ServiceStatus_type_serializer_init ( + "ServiceStatus", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ServiceStatus.hxx b/oadrsd/oadrsd/2b/ServiceStatus.hxx new file mode 100644 index 0000000..669694a --- /dev/null +++ b/oadrsd/oadrsd/2b/ServiceStatus.hxx @@ -0,0 +1,367 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SERVICE_STATUS_HXX +#define SERVICE_STATUS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ServiceStatus; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class ESPIServiceStatus; +} + +namespace espi +{ + class ServiceStatus: public ::espi::Object + { + public: + // currentStatus + // + typedef ::espi::ESPIServiceStatus currentStatus_type; + typedef ::xsd::cxx::tree::traits< currentStatus_type, char > currentStatus_traits; + + const currentStatus_type& + currentStatus () const; + + currentStatus_type& + currentStatus (); + + void + currentStatus (const currentStatus_type& x); + + void + currentStatus (::std::auto_ptr< currentStatus_type > p); + + // Constructors. + // + ServiceStatus (const currentStatus_type&); + + ServiceStatus (::std::auto_ptr< currentStatus_type >); + + ServiceStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ServiceStatus (const ServiceStatus& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ServiceStatus* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ServiceStatus& + operator= (const ServiceStatus& x); + + virtual + ~ServiceStatus (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< currentStatus_type > currentStatus_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ServiceStatus&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SERVICE_STATUS_HXX diff --git a/oadrsd/oadrsd/2b/SiScaleCodeType.cxx b/oadrsd/oadrsd/2b/SiScaleCodeType.cxx new file mode 100644 index 0000000..25681a2 --- /dev/null +++ b/oadrsd/oadrsd/2b/SiScaleCodeType.cxx @@ -0,0 +1,253 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SiScaleCodeType.hxx" + +namespace siscale +{ + // SiScaleCodeType + // + + SiScaleCodeType:: + SiScaleCodeType (value v) + : ::xml_schema::string (_xsd_SiScaleCodeType_literals_[v]) + { + } + + SiScaleCodeType:: + SiScaleCodeType (const char* v) + : ::xml_schema::string (v) + { + } + + SiScaleCodeType:: + SiScaleCodeType (const ::std::string& v) + : ::xml_schema::string (v) + { + } + + SiScaleCodeType:: + SiScaleCodeType (const ::xml_schema::string& v) + : ::xml_schema::string (v) + { + } + + SiScaleCodeType:: + SiScaleCodeType (const SiScaleCodeType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (v, f, c) + { + } + + SiScaleCodeType& SiScaleCodeType:: + operator= (value v) + { + static_cast< ::xml_schema::string& > (*this) = + ::xml_schema::string (_xsd_SiScaleCodeType_literals_[v]); + + return *this; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace siscale +{ + // SiScaleCodeType + // + + SiScaleCodeType:: + SiScaleCodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + _xsd_SiScaleCodeType_convert (); + } + + SiScaleCodeType:: + SiScaleCodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + _xsd_SiScaleCodeType_convert (); + } + + SiScaleCodeType:: + SiScaleCodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + _xsd_SiScaleCodeType_convert (); + } + + SiScaleCodeType* SiScaleCodeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SiScaleCodeType (*this, f, c); + } + + SiScaleCodeType::value SiScaleCodeType:: + _xsd_SiScaleCodeType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_SiScaleCodeType_literals_); + const value* i (::std::lower_bound ( + _xsd_SiScaleCodeType_indexes_, + _xsd_SiScaleCodeType_indexes_ + 11, + *this, + c)); + + if (i == _xsd_SiScaleCodeType_indexes_ + 11 || _xsd_SiScaleCodeType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const SiScaleCodeType:: + _xsd_SiScaleCodeType_literals_[11] = + { + "p", + "n", + "micro", + "m", + "c", + "d", + "k", + "M", + "G", + "T", + "none" + }; + + const SiScaleCodeType::value SiScaleCodeType:: + _xsd_SiScaleCodeType_indexes_[11] = + { + ::siscale::SiScaleCodeType::G, + ::siscale::SiScaleCodeType::M, + ::siscale::SiScaleCodeType::T, + ::siscale::SiScaleCodeType::c, + ::siscale::SiScaleCodeType::d, + ::siscale::SiScaleCodeType::k, + ::siscale::SiScaleCodeType::m, + ::siscale::SiScaleCodeType::micro, + ::siscale::SiScaleCodeType::n, + ::siscale::SiScaleCodeType::none, + ::siscale::SiScaleCodeType::p + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SiScaleCodeType > + _xsd_SiScaleCodeType_type_factory_init ( + "SiScaleCodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); +} + +#include +#include +#include + +namespace siscale +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace siscale +{ + void + operator<< (::xercesc::DOMElement& e, const SiScaleCodeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const SiScaleCodeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const SiScaleCodeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SiScaleCodeType > + _xsd_SiScaleCodeType_type_serializer_init ( + "SiScaleCodeType", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SiScaleCodeType.hxx b/oadrsd/oadrsd/2b/SiScaleCodeType.hxx new file mode 100644 index 0000000..ca8a150 --- /dev/null +++ b/oadrsd/oadrsd/2b/SiScaleCodeType.hxx @@ -0,0 +1,377 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SI_SCALE_CODE_TYPE_HXX +#define SI_SCALE_CODE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace siscale +{ + class SiScaleCodeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace siscale +{ + class SiScaleCodeType: public ::xml_schema::string + { + public: + enum value + { + p, + n, + micro, + m, + c, + d, + k, + M, + G, + T, + none + }; + + SiScaleCodeType (value v); + + SiScaleCodeType (const char* v); + + SiScaleCodeType (const ::std::string& v); + + SiScaleCodeType (const ::xml_schema::string& v); + + SiScaleCodeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SiScaleCodeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SiScaleCodeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SiScaleCodeType (const SiScaleCodeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SiScaleCodeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SiScaleCodeType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_SiScaleCodeType_convert (); + } + + protected: + value + _xsd_SiScaleCodeType_convert () const; + + public: + static const char* const _xsd_SiScaleCodeType_literals_[11]; + static const value _xsd_SiScaleCodeType_indexes_[11]; + }; +} + +#include + +#include +#include +#include + +namespace siscale +{ +} + +#include + +#include +#include +#include + +#include + +namespace siscale +{ + void + operator<< (::xercesc::DOMElement&, const SiScaleCodeType&); + + void + operator<< (::xercesc::DOMAttr&, const SiScaleCodeType&); + + void + operator<< (::xml_schema::list_stream&, + const SiScaleCodeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SI_SCALE_CODE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignalNameEnumeratedType.cxx b/oadrsd/oadrsd/2b/SignalNameEnumeratedType.cxx new file mode 100644 index 0000000..9a5ea45 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignalNameEnumeratedType.cxx @@ -0,0 +1,265 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignalNameEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // SignalNameEnumeratedType + // + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (value v) + : ::xml_schema::token (_xsd_SignalNameEnumeratedType_literals_[v]) + { + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const SignalNameEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + SignalNameEnumeratedType& SignalNameEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_SignalNameEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // SignalNameEnumeratedType + // + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_SignalNameEnumeratedType_convert (); + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_SignalNameEnumeratedType_convert (); + } + + SignalNameEnumeratedType:: + SignalNameEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_SignalNameEnumeratedType_convert (); + } + + SignalNameEnumeratedType* SignalNameEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignalNameEnumeratedType (*this, f, c); + } + + SignalNameEnumeratedType::value SignalNameEnumeratedType:: + _xsd_SignalNameEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_SignalNameEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_SignalNameEnumeratedType_indexes_, + _xsd_SignalNameEnumeratedType_indexes_ + 11, + *this, + c)); + + if (i == _xsd_SignalNameEnumeratedType_indexes_ + 11 || _xsd_SignalNameEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const SignalNameEnumeratedType:: + _xsd_SignalNameEnumeratedType_literals_[11] = + { + "SIMPLE", + "simple", + "ELECTRICITY_PRICE", + "ENERGY_PRICE", + "DEMAND_CHARGE", + "BID_PRICE", + "BID_LOAD", + "BID_ENERGY", + "CHARGE_STATE", + "LOAD_DISPATCH", + "LOAD_CONTROL" + }; + + const SignalNameEnumeratedType::value SignalNameEnumeratedType:: + _xsd_SignalNameEnumeratedType_indexes_[11] = + { + ::oadr2b::ei::SignalNameEnumeratedType::BID_ENERGY, + ::oadr2b::ei::SignalNameEnumeratedType::BID_LOAD, + ::oadr2b::ei::SignalNameEnumeratedType::BID_PRICE, + ::oadr2b::ei::SignalNameEnumeratedType::CHARGE_STATE, + ::oadr2b::ei::SignalNameEnumeratedType::DEMAND_CHARGE, + ::oadr2b::ei::SignalNameEnumeratedType::ELECTRICITY_PRICE, + ::oadr2b::ei::SignalNameEnumeratedType::ENERGY_PRICE, + ::oadr2b::ei::SignalNameEnumeratedType::LOAD_CONTROL, + ::oadr2b::ei::SignalNameEnumeratedType::LOAD_DISPATCH, + ::oadr2b::ei::SignalNameEnumeratedType::SIMPLE, + ::oadr2b::ei::SignalNameEnumeratedType::simple + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignalNameEnumeratedType > + _xsd_SignalNameEnumeratedType_type_factory_init ( + "SignalNameEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const SignalNameEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const SignalNameEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const SignalNameEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignalNameEnumeratedType > + _xsd_SignalNameEnumeratedType_type_serializer_init ( + "SignalNameEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignalNameEnumeratedType.hxx b/oadrsd/oadrsd/2b/SignalNameEnumeratedType.hxx new file mode 100644 index 0000000..d57fc18 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignalNameEnumeratedType.hxx @@ -0,0 +1,389 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNAL_NAME_ENUMERATED_TYPE_HXX +#define SIGNAL_NAME_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class SignalNameEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class SignalNameEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + SIMPLE, + simple, + ELECTRICITY_PRICE, + ENERGY_PRICE, + DEMAND_CHARGE, + BID_PRICE, + BID_LOAD, + BID_ENERGY, + CHARGE_STATE, + LOAD_DISPATCH, + LOAD_CONTROL + }; + + SignalNameEnumeratedType (value v); + + SignalNameEnumeratedType (const char* v); + + SignalNameEnumeratedType (const ::std::string& v); + + SignalNameEnumeratedType (const ::xml_schema::token& v); + + SignalNameEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalNameEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalNameEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalNameEnumeratedType (const SignalNameEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignalNameEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignalNameEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_SignalNameEnumeratedType_convert (); + } + + protected: + value + _xsd_SignalNameEnumeratedType_convert () const; + + public: + static const char* const _xsd_SignalNameEnumeratedType_literals_[11]; + static const value _xsd_SignalNameEnumeratedType_indexes_[11]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const SignalNameEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const SignalNameEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const SignalNameEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNAL_NAME_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.cxx b/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.cxx new file mode 100644 index 0000000..7625894 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.cxx @@ -0,0 +1,265 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignalTypeEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // SignalTypeEnumeratedType + // + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (value v) + : ::xml_schema::token (_xsd_SignalTypeEnumeratedType_literals_[v]) + { + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const SignalTypeEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + SignalTypeEnumeratedType& SignalTypeEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_SignalTypeEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // SignalTypeEnumeratedType + // + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_SignalTypeEnumeratedType_convert (); + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_SignalTypeEnumeratedType_convert (); + } + + SignalTypeEnumeratedType:: + SignalTypeEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_SignalTypeEnumeratedType_convert (); + } + + SignalTypeEnumeratedType* SignalTypeEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignalTypeEnumeratedType (*this, f, c); + } + + SignalTypeEnumeratedType::value SignalTypeEnumeratedType:: + _xsd_SignalTypeEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_SignalTypeEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_SignalTypeEnumeratedType_indexes_, + _xsd_SignalTypeEnumeratedType_indexes_ + 11, + *this, + c)); + + if (i == _xsd_SignalTypeEnumeratedType_indexes_ + 11 || _xsd_SignalTypeEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const SignalTypeEnumeratedType:: + _xsd_SignalTypeEnumeratedType_literals_[11] = + { + "delta", + "level", + "multiplier", + "price", + "priceMultiplier", + "priceRelative", + "setpoint", + "x-loadControlCapacity", + "x-loadControlLevelOffset", + "x-loadControlPercentOffset", + "x-loadControlSetpoint" + }; + + const SignalTypeEnumeratedType::value SignalTypeEnumeratedType:: + _xsd_SignalTypeEnumeratedType_indexes_[11] = + { + ::oadr2b::ei::SignalTypeEnumeratedType::delta, + ::oadr2b::ei::SignalTypeEnumeratedType::level, + ::oadr2b::ei::SignalTypeEnumeratedType::multiplier, + ::oadr2b::ei::SignalTypeEnumeratedType::price, + ::oadr2b::ei::SignalTypeEnumeratedType::priceMultiplier, + ::oadr2b::ei::SignalTypeEnumeratedType::priceRelative, + ::oadr2b::ei::SignalTypeEnumeratedType::setpoint, + ::oadr2b::ei::SignalTypeEnumeratedType::x_loadControlCapacity, + ::oadr2b::ei::SignalTypeEnumeratedType::x_loadControlLevelOffset, + ::oadr2b::ei::SignalTypeEnumeratedType::x_loadControlPercentOffset, + ::oadr2b::ei::SignalTypeEnumeratedType::x_loadControlSetpoint + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignalTypeEnumeratedType > + _xsd_SignalTypeEnumeratedType_type_factory_init ( + "SignalTypeEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const SignalTypeEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const SignalTypeEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const SignalTypeEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignalTypeEnumeratedType > + _xsd_SignalTypeEnumeratedType_type_serializer_init ( + "SignalTypeEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.hxx b/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.hxx new file mode 100644 index 0000000..4774912 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignalTypeEnumeratedType.hxx @@ -0,0 +1,389 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNAL_TYPE_ENUMERATED_TYPE_HXX +#define SIGNAL_TYPE_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class SignalTypeEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class SignalTypeEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + delta, + level, + multiplier, + price, + priceMultiplier, + priceRelative, + setpoint, + x_loadControlCapacity, + x_loadControlLevelOffset, + x_loadControlPercentOffset, + x_loadControlSetpoint + }; + + SignalTypeEnumeratedType (value v); + + SignalTypeEnumeratedType (const char* v); + + SignalTypeEnumeratedType (const ::std::string& v); + + SignalTypeEnumeratedType (const ::xml_schema::token& v); + + SignalTypeEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalTypeEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalTypeEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignalTypeEnumeratedType (const SignalTypeEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignalTypeEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignalTypeEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_SignalTypeEnumeratedType_convert (); + } + + protected: + value + _xsd_SignalTypeEnumeratedType_convert () const; + + public: + static const char* const _xsd_SignalTypeEnumeratedType_literals_[11]; + static const value _xsd_SignalTypeEnumeratedType_indexes_[11]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const SignalTypeEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const SignalTypeEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const SignalTypeEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNAL_TYPE_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignatureMethodType.cxx b/oadrsd/oadrsd/2b/SignatureMethodType.cxx new file mode 100644 index 0000000..e602206 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureMethodType.cxx @@ -0,0 +1,341 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignatureMethodType.hxx" + +#include "HMACOutputLengthType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignatureMethodType + // + + const SignatureMethodType::HMACOutputLength_optional& SignatureMethodType:: + HMACOutputLength () const + { + return this->HMACOutputLength_; + } + + SignatureMethodType::HMACOutputLength_optional& SignatureMethodType:: + HMACOutputLength () + { + return this->HMACOutputLength_; + } + + void SignatureMethodType:: + HMACOutputLength (const HMACOutputLength_type& x) + { + this->HMACOutputLength_.set (x); + } + + void SignatureMethodType:: + HMACOutputLength (const HMACOutputLength_optional& x) + { + this->HMACOutputLength_ = x; + } + + void SignatureMethodType:: + HMACOutputLength (::std::auto_ptr< HMACOutputLength_type > x) + { + this->HMACOutputLength_.set (x); + } + + const SignatureMethodType::Algorithm_type& SignatureMethodType:: + Algorithm () const + { + return this->Algorithm_.get (); + } + + SignatureMethodType::Algorithm_type& SignatureMethodType:: + Algorithm () + { + return this->Algorithm_.get (); + } + + void SignatureMethodType:: + Algorithm (const Algorithm_type& x) + { + this->Algorithm_.set (x); + } + + void SignatureMethodType:: + Algorithm (::std::auto_ptr< Algorithm_type > x) + { + this->Algorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignatureMethodType + // + + SignatureMethodType:: + SignatureMethodType (const Algorithm_type& Algorithm) + : ::xml_schema::type (), + HMACOutputLength_ (this), + Algorithm_ (Algorithm, this) + { + } + + SignatureMethodType:: + SignatureMethodType (const SignatureMethodType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + HMACOutputLength_ (x.HMACOutputLength_, f, this), + Algorithm_ (x.Algorithm_, f, this) + { + } + + SignatureMethodType:: + SignatureMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + HMACOutputLength_ (this), + Algorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void SignatureMethodType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // HMACOutputLength + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "HMACOutputLength", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< HMACOutputLength_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->HMACOutputLength_) + { + ::std::auto_ptr< HMACOutputLength_type > r ( + dynamic_cast< HMACOutputLength_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->HMACOutputLength_.set (r); + continue; + } + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Algorithm" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Algorithm_.set (Algorithm_traits::create (i, f, this)); + continue; + } + } + + if (!Algorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + SignatureMethodType* SignatureMethodType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignatureMethodType (*this, f, c); + } + + SignatureMethodType& SignatureMethodType:: + operator= (const SignatureMethodType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->HMACOutputLength_ = x.HMACOutputLength_; + this->Algorithm_ = x.Algorithm_; + } + + return *this; + } + + SignatureMethodType:: + ~SignatureMethodType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignatureMethodType > + _xsd_SignatureMethodType_type_factory_init ( + "SignatureMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignatureMethodType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // HMACOutputLength + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.HMACOutputLength ()) + { + const SignatureMethodType::HMACOutputLength_type& x (*i.HMACOutputLength ()); + if (typeid (SignatureMethodType::HMACOutputLength_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "HMACOutputLength", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "HMACOutputLength", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + } + + // Algorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << i.Algorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignatureMethodType > + _xsd_SignatureMethodType_type_serializer_init ( + "SignatureMethodType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignatureMethodType.hxx b/oadrsd/oadrsd/2b/SignatureMethodType.hxx new file mode 100644 index 0000000..cb5ef55 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureMethodType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNATURE_METHOD_TYPE_HXX +#define SIGNATURE_METHOD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignatureMethodType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class HMACOutputLengthType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignatureMethodType: public ::xml_schema::type + { + public: + // HMACOutputLength + // + typedef ::oadr2b::sig::HMACOutputLengthType HMACOutputLength_type; + typedef ::xsd::cxx::tree::optional< HMACOutputLength_type > HMACOutputLength_optional; + typedef ::xsd::cxx::tree::traits< HMACOutputLength_type, char > HMACOutputLength_traits; + + const HMACOutputLength_optional& + HMACOutputLength () const; + + HMACOutputLength_optional& + HMACOutputLength (); + + void + HMACOutputLength (const HMACOutputLength_type& x); + + void + HMACOutputLength (const HMACOutputLength_optional& x); + + void + HMACOutputLength (::std::auto_ptr< HMACOutputLength_type > p); + + // Algorithm + // + typedef ::xml_schema::uri Algorithm_type; + typedef ::xsd::cxx::tree::traits< Algorithm_type, char > Algorithm_traits; + + const Algorithm_type& + Algorithm () const; + + Algorithm_type& + Algorithm (); + + void + Algorithm (const Algorithm_type& x); + + void + Algorithm (::std::auto_ptr< Algorithm_type > p); + + // Constructors. + // + SignatureMethodType (const Algorithm_type&); + + SignatureMethodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignatureMethodType (const SignatureMethodType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignatureMethodType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignatureMethodType& + operator= (const SignatureMethodType& x); + + virtual + ~SignatureMethodType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + HMACOutputLength_optional HMACOutputLength_; + ::xsd::cxx::tree::one< Algorithm_type > Algorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignatureMethodType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNATURE_METHOD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignaturePropertiesType.cxx b/oadrsd/oadrsd/2b/SignaturePropertiesType.cxx new file mode 100644 index 0000000..90176c9 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignaturePropertiesType.cxx @@ -0,0 +1,327 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignaturePropertiesType.hxx" + +#include "SignaturePropertyType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignaturePropertiesType + // + + const SignaturePropertiesType::SignatureProperty_sequence& SignaturePropertiesType:: + SignatureProperty () const + { + return this->SignatureProperty_; + } + + SignaturePropertiesType::SignatureProperty_sequence& SignaturePropertiesType:: + SignatureProperty () + { + return this->SignatureProperty_; + } + + void SignaturePropertiesType:: + SignatureProperty (const SignatureProperty_sequence& s) + { + this->SignatureProperty_ = s; + } + + const SignaturePropertiesType::Id_optional& SignaturePropertiesType:: + Id () const + { + return this->Id_; + } + + SignaturePropertiesType::Id_optional& SignaturePropertiesType:: + Id () + { + return this->Id_; + } + + void SignaturePropertiesType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void SignaturePropertiesType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void SignaturePropertiesType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignaturePropertiesType + // + + SignaturePropertiesType:: + SignaturePropertiesType () + : ::xml_schema::type (), + SignatureProperty_ (this), + Id_ (this) + { + } + + SignaturePropertiesType:: + SignaturePropertiesType (const SignaturePropertiesType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + SignatureProperty_ (x.SignatureProperty_, f, this), + Id_ (x.Id_, f, this) + { + } + + SignaturePropertiesType:: + SignaturePropertiesType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + SignatureProperty_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void SignaturePropertiesType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // SignatureProperty + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SignatureProperty_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< SignatureProperty_type > r ( + dynamic_cast< SignatureProperty_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SignatureProperty_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + SignaturePropertiesType* SignaturePropertiesType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignaturePropertiesType (*this, f, c); + } + + SignaturePropertiesType& SignaturePropertiesType:: + operator= (const SignaturePropertiesType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->SignatureProperty_ = x.SignatureProperty_; + this->Id_ = x.Id_; + } + + return *this; + } + + SignaturePropertiesType:: + ~SignaturePropertiesType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignaturePropertiesType > + _xsd_SignaturePropertiesType_type_factory_init ( + "SignaturePropertiesType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignaturePropertiesType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // SignatureProperty + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (SignaturePropertiesType::SignatureProperty_const_iterator + b (i.SignatureProperty ().begin ()), n (i.SignatureProperty ().end ()); + b != n; ++b) + { + if (typeid (SignaturePropertiesType::SignatureProperty_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignaturePropertiesType > + _xsd_SignaturePropertiesType_type_serializer_init ( + "SignaturePropertiesType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignaturePropertiesType.hxx b/oadrsd/oadrsd/2b/SignaturePropertiesType.hxx new file mode 100644 index 0000000..fee1576 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignaturePropertiesType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNATURE_PROPERTIES_TYPE_HXX +#define SIGNATURE_PROPERTIES_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignaturePropertiesType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SignaturePropertyType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignaturePropertiesType: public ::xml_schema::type + { + public: + // SignatureProperty + // + typedef ::oadr2b::sig::SignaturePropertyType SignatureProperty_type; + typedef ::xsd::cxx::tree::sequence< SignatureProperty_type > SignatureProperty_sequence; + typedef SignatureProperty_sequence::iterator SignatureProperty_iterator; + typedef SignatureProperty_sequence::const_iterator SignatureProperty_const_iterator; + typedef ::xsd::cxx::tree::traits< SignatureProperty_type, char > SignatureProperty_traits; + + const SignatureProperty_sequence& + SignatureProperty () const; + + SignatureProperty_sequence& + SignatureProperty (); + + void + SignatureProperty (const SignatureProperty_sequence& s); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + SignaturePropertiesType (); + + SignaturePropertiesType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignaturePropertiesType (const SignaturePropertiesType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignaturePropertiesType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignaturePropertiesType& + operator= (const SignaturePropertiesType& x); + + virtual + ~SignaturePropertiesType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + SignatureProperty_sequence SignatureProperty_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignaturePropertiesType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNATURE_PROPERTIES_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignaturePropertyType.cxx b/oadrsd/oadrsd/2b/SignaturePropertyType.cxx new file mode 100644 index 0000000..98f5be4 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignaturePropertyType.cxx @@ -0,0 +1,303 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignaturePropertyType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignaturePropertyType + // + + const SignaturePropertyType::Target_type& SignaturePropertyType:: + Target () const + { + return this->Target_.get (); + } + + SignaturePropertyType::Target_type& SignaturePropertyType:: + Target () + { + return this->Target_.get (); + } + + void SignaturePropertyType:: + Target (const Target_type& x) + { + this->Target_.set (x); + } + + void SignaturePropertyType:: + Target (::std::auto_ptr< Target_type > x) + { + this->Target_.set (x); + } + + const SignaturePropertyType::Id_optional& SignaturePropertyType:: + Id () const + { + return this->Id_; + } + + SignaturePropertyType::Id_optional& SignaturePropertyType:: + Id () + { + return this->Id_; + } + + void SignaturePropertyType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void SignaturePropertyType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void SignaturePropertyType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignaturePropertyType + // + + SignaturePropertyType:: + SignaturePropertyType (const Target_type& Target) + : ::xml_schema::type (), + Target_ (Target, this), + Id_ (this) + { + } + + SignaturePropertyType:: + SignaturePropertyType (const SignaturePropertyType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Target_ (x.Target_, f, this), + Id_ (x.Id_, f, this) + { + } + + SignaturePropertyType:: + SignaturePropertyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Target_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void SignaturePropertyType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Target" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Target_.set (Target_traits::create (i, f, this)); + continue; + } + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + + if (!Target_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Target", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + SignaturePropertyType* SignaturePropertyType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignaturePropertyType (*this, f, c); + } + + SignaturePropertyType& SignaturePropertyType:: + operator= (const SignaturePropertyType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Target_ = x.Target_; + this->Id_ = x.Id_; + } + + return *this; + } + + SignaturePropertyType:: + ~SignaturePropertyType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignaturePropertyType > + _xsd_SignaturePropertyType_type_factory_init ( + "SignaturePropertyType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignaturePropertyType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Target + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Target", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << i.Target (); + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignaturePropertyType > + _xsd_SignaturePropertyType_type_serializer_init ( + "SignaturePropertyType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignaturePropertyType.hxx b/oadrsd/oadrsd/2b/SignaturePropertyType.hxx new file mode 100644 index 0000000..bc639f6 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignaturePropertyType.hxx @@ -0,0 +1,392 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNATURE_PROPERTY_TYPE_HXX +#define SIGNATURE_PROPERTY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignaturePropertyType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SignaturePropertyType: public ::xml_schema::type + { + public: + // Target + // + typedef ::xml_schema::uri Target_type; + typedef ::xsd::cxx::tree::traits< Target_type, char > Target_traits; + + const Target_type& + Target () const; + + Target_type& + Target (); + + void + Target (const Target_type& x); + + void + Target (::std::auto_ptr< Target_type > p); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + SignaturePropertyType (const Target_type&); + + SignaturePropertyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignaturePropertyType (const SignaturePropertyType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignaturePropertyType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignaturePropertyType& + operator= (const SignaturePropertyType& x); + + virtual + ~SignaturePropertyType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Target_type > Target_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignaturePropertyType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNATURE_PROPERTY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignatureType.cxx b/oadrsd/oadrsd/2b/SignatureType.cxx new file mode 100644 index 0000000..b867902 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureType.cxx @@ -0,0 +1,609 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignatureType.hxx" + +#include "SignedInfoType.hxx" + +#include "SignatureValueType.hxx" + +#include "KeyInfoType.hxx" + +#include "ObjectType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignatureType + // + + const SignatureType::SignedInfo_type& SignatureType:: + SignedInfo () const + { + return this->SignedInfo_.get (); + } + + SignatureType::SignedInfo_type& SignatureType:: + SignedInfo () + { + return this->SignedInfo_.get (); + } + + void SignatureType:: + SignedInfo (const SignedInfo_type& x) + { + this->SignedInfo_.set (x); + } + + void SignatureType:: + SignedInfo (::std::auto_ptr< SignedInfo_type > x) + { + this->SignedInfo_.set (x); + } + + const SignatureType::SignatureValue_type& SignatureType:: + SignatureValue () const + { + return this->SignatureValue_.get (); + } + + SignatureType::SignatureValue_type& SignatureType:: + SignatureValue () + { + return this->SignatureValue_.get (); + } + + void SignatureType:: + SignatureValue (const SignatureValue_type& x) + { + this->SignatureValue_.set (x); + } + + void SignatureType:: + SignatureValue (::std::auto_ptr< SignatureValue_type > x) + { + this->SignatureValue_.set (x); + } + + const SignatureType::KeyInfo_optional& SignatureType:: + KeyInfo () const + { + return this->KeyInfo_; + } + + SignatureType::KeyInfo_optional& SignatureType:: + KeyInfo () + { + return this->KeyInfo_; + } + + void SignatureType:: + KeyInfo (const KeyInfo_type& x) + { + this->KeyInfo_.set (x); + } + + void SignatureType:: + KeyInfo (const KeyInfo_optional& x) + { + this->KeyInfo_ = x; + } + + void SignatureType:: + KeyInfo (::std::auto_ptr< KeyInfo_type > x) + { + this->KeyInfo_.set (x); + } + + const SignatureType::Object_sequence& SignatureType:: + Object () const + { + return this->Object_; + } + + SignatureType::Object_sequence& SignatureType:: + Object () + { + return this->Object_; + } + + void SignatureType:: + Object (const Object_sequence& s) + { + this->Object_ = s; + } + + const SignatureType::Id_optional& SignatureType:: + Id () const + { + return this->Id_; + } + + SignatureType::Id_optional& SignatureType:: + Id () + { + return this->Id_; + } + + void SignatureType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void SignatureType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void SignatureType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignatureType + // + + SignatureType:: + SignatureType (const SignedInfo_type& SignedInfo, + const SignatureValue_type& SignatureValue) + : ::xml_schema::type (), + SignedInfo_ (SignedInfo, this), + SignatureValue_ (SignatureValue, this), + KeyInfo_ (this), + Object_ (this), + Id_ (this) + { + } + + SignatureType:: + SignatureType (::std::auto_ptr< SignedInfo_type > SignedInfo, + ::std::auto_ptr< SignatureValue_type > SignatureValue) + : ::xml_schema::type (), + SignedInfo_ (SignedInfo, this), + SignatureValue_ (SignatureValue, this), + KeyInfo_ (this), + Object_ (this), + Id_ (this) + { + } + + SignatureType:: + SignatureType (const SignatureType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + SignedInfo_ (x.SignedInfo_, f, this), + SignatureValue_ (x.SignatureValue_, f, this), + KeyInfo_ (x.KeyInfo_, f, this), + Object_ (x.Object_, f, this), + Id_ (x.Id_, f, this) + { + } + + SignatureType:: + SignatureType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + SignedInfo_ (this), + SignatureValue_ (this), + KeyInfo_ (this), + Object_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void SignatureType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // SignedInfo + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SignedInfo_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!SignedInfo_.present ()) + { + ::std::auto_ptr< SignedInfo_type > r ( + dynamic_cast< SignedInfo_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SignedInfo_.set (r); + continue; + } + } + } + + // SignatureValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SignatureValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!SignatureValue_.present ()) + { + ::std::auto_ptr< SignatureValue_type > r ( + dynamic_cast< SignatureValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SignatureValue_.set (r); + continue; + } + } + } + + // KeyInfo + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< KeyInfo_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->KeyInfo_) + { + ::std::auto_ptr< KeyInfo_type > r ( + dynamic_cast< KeyInfo_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->KeyInfo_.set (r); + continue; + } + } + } + + // Object + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Object_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< Object_type > r ( + dynamic_cast< Object_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Object_.push_back (r); + continue; + } + } + + break; + } + + if (!SignedInfo_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + + if (!SignatureValue_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + SignatureType* SignatureType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignatureType (*this, f, c); + } + + SignatureType& SignatureType:: + operator= (const SignatureType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->SignedInfo_ = x.SignedInfo_; + this->SignatureValue_ = x.SignatureValue_; + this->KeyInfo_ = x.KeyInfo_; + this->Object_ = x.Object_; + this->Id_ = x.Id_; + } + + return *this; + } + + SignatureType:: + ~SignatureType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignatureType > + _xsd_SignatureType_type_factory_init ( + "SignatureType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignatureType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // SignedInfo + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SignatureType::SignedInfo_type& x (i.SignedInfo ()); + if (typeid (SignatureType::SignedInfo_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // SignatureValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SignatureType::SignatureValue_type& x (i.SignatureValue ()); + if (typeid (SignatureType::SignatureValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // KeyInfo + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.KeyInfo ()) + { + const SignatureType::KeyInfo_type& x (*i.KeyInfo ()); + if (typeid (SignatureType::KeyInfo_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + + // Object + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (SignatureType::Object_const_iterator + b (i.Object ().begin ()), n (i.Object ().end ()); + b != n; ++b) + { + if (typeid (SignatureType::Object_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignatureType > + _xsd_SignatureType_type_serializer_init ( + "SignatureType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignatureType.hxx b/oadrsd/oadrsd/2b/SignatureType.hxx new file mode 100644 index 0000000..37ce632 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureType.hxx @@ -0,0 +1,486 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNATURE_TYPE_HXX +#define SIGNATURE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignatureType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SignedInfoType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignatureValueType; + } +} + +namespace oadr2b +{ + namespace sig + { + class KeyInfoType; + } +} + +namespace oadr2b +{ + namespace sig + { + class ObjectType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignatureType: public ::xml_schema::type + { + public: + // SignedInfo + // + typedef ::oadr2b::sig::SignedInfoType SignedInfo_type; + typedef ::xsd::cxx::tree::traits< SignedInfo_type, char > SignedInfo_traits; + + const SignedInfo_type& + SignedInfo () const; + + SignedInfo_type& + SignedInfo (); + + void + SignedInfo (const SignedInfo_type& x); + + void + SignedInfo (::std::auto_ptr< SignedInfo_type > p); + + // SignatureValue + // + typedef ::oadr2b::sig::SignatureValueType SignatureValue_type; + typedef ::xsd::cxx::tree::traits< SignatureValue_type, char > SignatureValue_traits; + + const SignatureValue_type& + SignatureValue () const; + + SignatureValue_type& + SignatureValue (); + + void + SignatureValue (const SignatureValue_type& x); + + void + SignatureValue (::std::auto_ptr< SignatureValue_type > p); + + // KeyInfo + // + typedef ::oadr2b::sig::KeyInfoType KeyInfo_type; + typedef ::xsd::cxx::tree::optional< KeyInfo_type > KeyInfo_optional; + typedef ::xsd::cxx::tree::traits< KeyInfo_type, char > KeyInfo_traits; + + const KeyInfo_optional& + KeyInfo () const; + + KeyInfo_optional& + KeyInfo (); + + void + KeyInfo (const KeyInfo_type& x); + + void + KeyInfo (const KeyInfo_optional& x); + + void + KeyInfo (::std::auto_ptr< KeyInfo_type > p); + + // Object + // + typedef ::oadr2b::sig::ObjectType Object_type; + typedef ::xsd::cxx::tree::sequence< Object_type > Object_sequence; + typedef Object_sequence::iterator Object_iterator; + typedef Object_sequence::const_iterator Object_const_iterator; + typedef ::xsd::cxx::tree::traits< Object_type, char > Object_traits; + + const Object_sequence& + Object () const; + + Object_sequence& + Object (); + + void + Object (const Object_sequence& s); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + SignatureType (const SignedInfo_type&, + const SignatureValue_type&); + + SignatureType (::std::auto_ptr< SignedInfo_type >, + ::std::auto_ptr< SignatureValue_type >); + + SignatureType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignatureType (const SignatureType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignatureType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignatureType& + operator= (const SignatureType& x); + + virtual + ~SignatureType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< SignedInfo_type > SignedInfo_; + ::xsd::cxx::tree::one< SignatureValue_type > SignatureValue_; + KeyInfo_optional KeyInfo_; + Object_sequence Object_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignatureType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNATURE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignatureValueType.cxx b/oadrsd/oadrsd/2b/SignatureValueType.cxx new file mode 100644 index 0000000..2a3a482 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureValueType.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignatureValueType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignatureValueType + // + + const SignatureValueType::Id_optional& SignatureValueType:: + Id () const + { + return this->Id_; + } + + SignatureValueType::Id_optional& SignatureValueType:: + Id () + { + return this->Id_; + } + + void SignatureValueType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void SignatureValueType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void SignatureValueType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignatureValueType + // + + SignatureValueType:: + SignatureValueType () + : ::xml_schema::base64_binary (), + Id_ (this) + { + } + + SignatureValueType:: + SignatureValueType (const ::xml_schema::base64_binary& _xsd_base64_binary_base) + : ::xml_schema::base64_binary (_xsd_base64_binary_base), + Id_ (this) + { + } + + SignatureValueType:: + SignatureValueType (const SignatureValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (x, f, c), + Id_ (x.Id_, f, this) + { + } + + SignatureValueType:: + SignatureValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (e, f | ::xml_schema::flags::base, c), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void SignatureValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + SignatureValueType* SignatureValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignatureValueType (*this, f, c); + } + + SignatureValueType& SignatureValueType:: + operator= (const SignatureValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::base64_binary& > (*this) = x; + this->Id_ = x.Id_; + } + + return *this; + } + + SignatureValueType:: + ~SignatureValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignatureValueType > + _xsd_SignatureValueType_type_factory_init ( + "SignatureValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignatureValueType& i) + { + e << static_cast< const ::xml_schema::base64_binary& > (i); + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignatureValueType > + _xsd_SignatureValueType_type_serializer_init ( + "SignatureValueType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignatureValueType.hxx b/oadrsd/oadrsd/2b/SignatureValueType.hxx new file mode 100644 index 0000000..0e10448 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignatureValueType.hxx @@ -0,0 +1,376 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNATURE_VALUE_TYPE_HXX +#define SIGNATURE_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignatureValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SignatureValueType: public ::xml_schema::base64_binary + { + public: + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + SignatureValueType (); + + SignatureValueType (const ::xml_schema::base64_binary&); + + SignatureValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignatureValueType (const SignatureValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignatureValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignatureValueType& + operator= (const SignatureValueType& x); + + virtual + ~SignatureValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignatureValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNATURE_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SignedInfoType.cxx b/oadrsd/oadrsd/2b/SignedInfoType.cxx new file mode 100644 index 0000000..d5676e3 --- /dev/null +++ b/oadrsd/oadrsd/2b/SignedInfoType.cxx @@ -0,0 +1,517 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SignedInfoType.hxx" + +#include "CanonicalizationMethodType.hxx" + +#include "SignatureMethodType.hxx" + +#include "ReferenceType.hxx" + +namespace oadr2b +{ + namespace sig + { + // SignedInfoType + // + + const SignedInfoType::CanonicalizationMethod_type& SignedInfoType:: + CanonicalizationMethod () const + { + return this->CanonicalizationMethod_.get (); + } + + SignedInfoType::CanonicalizationMethod_type& SignedInfoType:: + CanonicalizationMethod () + { + return this->CanonicalizationMethod_.get (); + } + + void SignedInfoType:: + CanonicalizationMethod (const CanonicalizationMethod_type& x) + { + this->CanonicalizationMethod_.set (x); + } + + void SignedInfoType:: + CanonicalizationMethod (::std::auto_ptr< CanonicalizationMethod_type > x) + { + this->CanonicalizationMethod_.set (x); + } + + const SignedInfoType::SignatureMethod_type& SignedInfoType:: + SignatureMethod () const + { + return this->SignatureMethod_.get (); + } + + SignedInfoType::SignatureMethod_type& SignedInfoType:: + SignatureMethod () + { + return this->SignatureMethod_.get (); + } + + void SignedInfoType:: + SignatureMethod (const SignatureMethod_type& x) + { + this->SignatureMethod_.set (x); + } + + void SignedInfoType:: + SignatureMethod (::std::auto_ptr< SignatureMethod_type > x) + { + this->SignatureMethod_.set (x); + } + + const SignedInfoType::Reference_sequence& SignedInfoType:: + Reference () const + { + return this->Reference_; + } + + SignedInfoType::Reference_sequence& SignedInfoType:: + Reference () + { + return this->Reference_; + } + + void SignedInfoType:: + Reference (const Reference_sequence& s) + { + this->Reference_ = s; + } + + const SignedInfoType::Id_optional& SignedInfoType:: + Id () const + { + return this->Id_; + } + + SignedInfoType::Id_optional& SignedInfoType:: + Id () + { + return this->Id_; + } + + void SignedInfoType:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void SignedInfoType:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void SignedInfoType:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // SignedInfoType + // + + SignedInfoType:: + SignedInfoType (const CanonicalizationMethod_type& CanonicalizationMethod, + const SignatureMethod_type& SignatureMethod) + : ::xml_schema::type (), + CanonicalizationMethod_ (CanonicalizationMethod, this), + SignatureMethod_ (SignatureMethod, this), + Reference_ (this), + Id_ (this) + { + } + + SignedInfoType:: + SignedInfoType (::std::auto_ptr< CanonicalizationMethod_type > CanonicalizationMethod, + ::std::auto_ptr< SignatureMethod_type > SignatureMethod) + : ::xml_schema::type (), + CanonicalizationMethod_ (CanonicalizationMethod, this), + SignatureMethod_ (SignatureMethod, this), + Reference_ (this), + Id_ (this) + { + } + + SignedInfoType:: + SignedInfoType (const SignedInfoType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + CanonicalizationMethod_ (x.CanonicalizationMethod_, f, this), + SignatureMethod_ (x.SignatureMethod_, f, this), + Reference_ (x.Reference_, f, this), + Id_ (x.Id_, f, this) + { + } + + SignedInfoType:: + SignedInfoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + CanonicalizationMethod_ (this), + SignatureMethod_ (this), + Reference_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void SignedInfoType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // CanonicalizationMethod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< CanonicalizationMethod_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!CanonicalizationMethod_.present ()) + { + ::std::auto_ptr< CanonicalizationMethod_type > r ( + dynamic_cast< CanonicalizationMethod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->CanonicalizationMethod_.set (r); + continue; + } + } + } + + // SignatureMethod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< SignatureMethod_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!SignatureMethod_.present ()) + { + ::std::auto_ptr< SignatureMethod_type > r ( + dynamic_cast< SignatureMethod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->SignatureMethod_.set (r); + continue; + } + } + } + + // Reference + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Reference_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< Reference_type > r ( + dynamic_cast< Reference_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Reference_.push_back (r); + continue; + } + } + + break; + } + + if (!CanonicalizationMethod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + if (!SignatureMethod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + SignedInfoType* SignedInfoType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SignedInfoType (*this, f, c); + } + + SignedInfoType& SignedInfoType:: + operator= (const SignedInfoType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->CanonicalizationMethod_ = x.CanonicalizationMethod_; + this->SignatureMethod_ = x.SignatureMethod_; + this->Reference_ = x.Reference_; + this->Id_ = x.Id_; + } + + return *this; + } + + SignedInfoType:: + ~SignedInfoType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SignedInfoType > + _xsd_SignedInfoType_type_factory_init ( + "SignedInfoType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const SignedInfoType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // CanonicalizationMethod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SignedInfoType::CanonicalizationMethod_type& x (i.CanonicalizationMethod ()); + if (typeid (SignedInfoType::CanonicalizationMethod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // SignatureMethod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SignedInfoType::SignatureMethod_type& x (i.SignatureMethod ()); + if (typeid (SignedInfoType::SignatureMethod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + + // Reference + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (SignedInfoType::Reference_const_iterator + b (i.Reference ().begin ()), n (i.Reference ().end ()); + b != n; ++b) + { + if (typeid (SignedInfoType::Reference_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << *i.Id (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SignedInfoType > + _xsd_SignedInfoType_type_serializer_init ( + "SignedInfoType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SignedInfoType.hxx b/oadrsd/oadrsd/2b/SignedInfoType.hxx new file mode 100644 index 0000000..0e3832e --- /dev/null +++ b/oadrsd/oadrsd/2b/SignedInfoType.hxx @@ -0,0 +1,456 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNED_INFO_TYPE_HXX +#define SIGNED_INFO_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class SignedInfoType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class CanonicalizationMethodType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignatureMethodType; + } +} + +namespace oadr2b +{ + namespace sig + { + class ReferenceType; + } +} + +namespace oadr2b +{ + namespace sig + { + class SignedInfoType: public ::xml_schema::type + { + public: + // CanonicalizationMethod + // + typedef ::oadr2b::sig::CanonicalizationMethodType CanonicalizationMethod_type; + typedef ::xsd::cxx::tree::traits< CanonicalizationMethod_type, char > CanonicalizationMethod_traits; + + const CanonicalizationMethod_type& + CanonicalizationMethod () const; + + CanonicalizationMethod_type& + CanonicalizationMethod (); + + void + CanonicalizationMethod (const CanonicalizationMethod_type& x); + + void + CanonicalizationMethod (::std::auto_ptr< CanonicalizationMethod_type > p); + + // SignatureMethod + // + typedef ::oadr2b::sig::SignatureMethodType SignatureMethod_type; + typedef ::xsd::cxx::tree::traits< SignatureMethod_type, char > SignatureMethod_traits; + + const SignatureMethod_type& + SignatureMethod () const; + + SignatureMethod_type& + SignatureMethod (); + + void + SignatureMethod (const SignatureMethod_type& x); + + void + SignatureMethod (::std::auto_ptr< SignatureMethod_type > p); + + // Reference + // + typedef ::oadr2b::sig::ReferenceType Reference_type; + typedef ::xsd::cxx::tree::sequence< Reference_type > Reference_sequence; + typedef Reference_sequence::iterator Reference_iterator; + typedef Reference_sequence::const_iterator Reference_const_iterator; + typedef ::xsd::cxx::tree::traits< Reference_type, char > Reference_traits; + + const Reference_sequence& + Reference () const; + + Reference_sequence& + Reference (); + + void + Reference (const Reference_sequence& s); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + SignedInfoType (const CanonicalizationMethod_type&, + const SignatureMethod_type&); + + SignedInfoType (::std::auto_ptr< CanonicalizationMethod_type >, + ::std::auto_ptr< SignatureMethod_type >); + + SignedInfoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SignedInfoType (const SignedInfoType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SignedInfoType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SignedInfoType& + operator= (const SignedInfoType& x); + + virtual + ~SignedInfoType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< CanonicalizationMethod_type > CanonicalizationMethod_; + ::xsd::cxx::tree::one< SignatureMethod_type > SignatureMethod_; + Reference_sequence Reference_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const SignedInfoType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNED_INFO_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/SpecifierPayloadType.cxx b/oadrsd/oadrsd/2b/SpecifierPayloadType.cxx new file mode 100644 index 0000000..e60e520 --- /dev/null +++ b/oadrsd/oadrsd/2b/SpecifierPayloadType.cxx @@ -0,0 +1,468 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SpecifierPayloadType.hxx" + +#include "ItemBaseType.hxx" + +#include "ReadingTypeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // SpecifierPayloadType + // + + const SpecifierPayloadType::rID_type& SpecifierPayloadType:: + rID () const + { + return this->rID_.get (); + } + + SpecifierPayloadType::rID_type& SpecifierPayloadType:: + rID () + { + return this->rID_.get (); + } + + void SpecifierPayloadType:: + rID (const rID_type& x) + { + this->rID_.set (x); + } + + void SpecifierPayloadType:: + rID (::std::auto_ptr< rID_type > x) + { + this->rID_.set (x); + } + + const SpecifierPayloadType::itemBase_optional& SpecifierPayloadType:: + itemBase () const + { + return this->itemBase_; + } + + SpecifierPayloadType::itemBase_optional& SpecifierPayloadType:: + itemBase () + { + return this->itemBase_; + } + + void SpecifierPayloadType:: + itemBase (const itemBase_type& x) + { + this->itemBase_.set (x); + } + + void SpecifierPayloadType:: + itemBase (const itemBase_optional& x) + { + this->itemBase_ = x; + } + + void SpecifierPayloadType:: + itemBase (::std::auto_ptr< itemBase_type > x) + { + this->itemBase_.set (x); + } + + const SpecifierPayloadType::readingType_type& SpecifierPayloadType:: + readingType () const + { + return this->readingType_.get (); + } + + SpecifierPayloadType::readingType_type& SpecifierPayloadType:: + readingType () + { + return this->readingType_.get (); + } + + void SpecifierPayloadType:: + readingType (const readingType_type& x) + { + this->readingType_.set (x); + } + + void SpecifierPayloadType:: + readingType (::std::auto_ptr< readingType_type > x) + { + this->readingType_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // SpecifierPayloadType + // + + SpecifierPayloadType:: + SpecifierPayloadType (const rID_type& rID, + const readingType_type& readingType) + : ::xml_schema::type (), + rID_ (rID, this), + itemBase_ (this), + readingType_ (readingType, this) + { + } + + SpecifierPayloadType:: + SpecifierPayloadType (::std::auto_ptr< rID_type > rID, + ::std::auto_ptr< readingType_type > readingType) + : ::xml_schema::type (), + rID_ (rID, this), + itemBase_ (this), + readingType_ (readingType, this) + { + } + + SpecifierPayloadType:: + SpecifierPayloadType (const SpecifierPayloadType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + rID_ (x.rID_, f, this), + itemBase_ (x.itemBase_, f, this), + readingType_ (x.readingType_, f, this) + { + } + + SpecifierPayloadType:: + SpecifierPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + rID_ (this), + itemBase_ (this), + readingType_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void SpecifierPayloadType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // rID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< rID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!rID_.present ()) + { + ::std::auto_ptr< rID_type > r ( + dynamic_cast< rID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rID_.set (r); + continue; + } + } + } + + // itemBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< itemBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->itemBase_) + { + ::std::auto_ptr< itemBase_type > r ( + dynamic_cast< itemBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemBase_.set (r); + continue; + } + } + } + + // readingType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< readingType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!readingType_.present ()) + { + ::std::auto_ptr< readingType_type > r ( + dynamic_cast< readingType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->readingType_.set (r); + continue; + } + } + } + + break; + } + + if (!rID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!readingType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + SpecifierPayloadType* SpecifierPayloadType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SpecifierPayloadType (*this, f, c); + } + + SpecifierPayloadType& SpecifierPayloadType:: + operator= (const SpecifierPayloadType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->rID_ = x.rID_; + this->itemBase_ = x.itemBase_; + this->readingType_ = x.readingType_; + } + + return *this; + } + + SpecifierPayloadType:: + ~SpecifierPayloadType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SpecifierPayloadType > + _xsd_SpecifierPayloadType_type_factory_init ( + "SpecifierPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const SpecifierPayloadType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // rID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SpecifierPayloadType::rID_type& x (i.rID ()); + if (typeid (SpecifierPayloadType::rID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // itemBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.itemBase ()) + { + const SpecifierPayloadType::itemBase_type& x (*i.itemBase ()); + if (typeid (SpecifierPayloadType::itemBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + + // readingType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const SpecifierPayloadType::readingType_type& x (i.readingType ()); + if (typeid (SpecifierPayloadType::readingType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SpecifierPayloadType > + _xsd_SpecifierPayloadType_type_serializer_init ( + "SpecifierPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SpecifierPayloadType.hxx b/oadrsd/oadrsd/2b/SpecifierPayloadType.hxx new file mode 100644 index 0000000..62de81e --- /dev/null +++ b/oadrsd/oadrsd/2b/SpecifierPayloadType.hxx @@ -0,0 +1,430 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SPECIFIER_PAYLOAD_TYPE_HXX +#define SPECIFIER_PAYLOAD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class SpecifierPayloadType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + class ItemBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ReadingTypeType; + } +} + +namespace oadr2b +{ + namespace ei + { + class SpecifierPayloadType: public ::xml_schema::type + { + public: + // rID + // + typedef ::xml_schema::string rID_type; + typedef ::xsd::cxx::tree::traits< rID_type, char > rID_traits; + + const rID_type& + rID () const; + + rID_type& + rID (); + + void + rID (const rID_type& x); + + void + rID (::std::auto_ptr< rID_type > p); + + // itemBase + // + typedef ::oadr2b::emix::ItemBaseType itemBase_type; + typedef ::xsd::cxx::tree::optional< itemBase_type > itemBase_optional; + typedef ::xsd::cxx::tree::traits< itemBase_type, char > itemBase_traits; + + const itemBase_optional& + itemBase () const; + + itemBase_optional& + itemBase (); + + void + itemBase (const itemBase_type& x); + + void + itemBase (const itemBase_optional& x); + + void + itemBase (::std::auto_ptr< itemBase_type > p); + + // readingType + // + typedef ::oadr2b::ei::ReadingTypeType readingType_type; + typedef ::xsd::cxx::tree::traits< readingType_type, char > readingType_traits; + + const readingType_type& + readingType () const; + + readingType_type& + readingType (); + + void + readingType (const readingType_type& x); + + void + readingType (::std::auto_ptr< readingType_type > p); + + // Constructors. + // + SpecifierPayloadType (const rID_type&, + const readingType_type&); + + SpecifierPayloadType (::std::auto_ptr< rID_type >, + ::std::auto_ptr< readingType_type >); + + SpecifierPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SpecifierPayloadType (const SpecifierPayloadType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SpecifierPayloadType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SpecifierPayloadType& + operator= (const SpecifierPayloadType& x); + + virtual + ~SpecifierPayloadType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< rID_type > rID_; + itemBase_optional itemBase_; + ::xsd::cxx::tree::one< readingType_type > readingType_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const SpecifierPayloadType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SPECIFIER_PAYLOAD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/StatusCode.cxx b/oadrsd/oadrsd/2b/StatusCode.cxx new file mode 100644 index 0000000..f29f478 --- /dev/null +++ b/oadrsd/oadrsd/2b/StatusCode.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "StatusCode.hxx" + +namespace espi +{ + // StatusCode + // + + StatusCode:: + StatusCode (const char* s) + : ::xml_schema::string (s) + { + } + + StatusCode:: + StatusCode (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + StatusCode:: + StatusCode (const StatusCode& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // StatusCode + // + + StatusCode:: + StatusCode (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + StatusCode:: + StatusCode (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + StatusCode:: + StatusCode (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + StatusCode* StatusCode:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class StatusCode (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, StatusCode > + _xsd_StatusCode_type_factory_init ( + "StatusCode", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const StatusCode& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const StatusCode& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const StatusCode& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, StatusCode > + _xsd_StatusCode_type_serializer_init ( + "StatusCode", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/StatusCode.hxx b/oadrsd/oadrsd/2b/StatusCode.hxx new file mode 100644 index 0000000..e435ba9 --- /dev/null +++ b/oadrsd/oadrsd/2b/StatusCode.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STATUS_CODE_HXX +#define STATUS_CODE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class StatusCode; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class StatusCode: public ::xml_schema::string + { + public: + + StatusCode (const char* v); + + StatusCode (const ::std::string& v); + + StatusCode (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode (const StatusCode& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual StatusCode* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const StatusCode&); + + void + operator<< (::xercesc::DOMAttr&, const StatusCode&); + + void + operator<< (::xml_schema::list_stream&, + const StatusCode&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STATUS_CODE_HXX diff --git a/oadrsd/oadrsd/2b/StatusCode_member.cxx b/oadrsd/oadrsd/2b/StatusCode_member.cxx new file mode 100644 index 0000000..b1e638e --- /dev/null +++ b/oadrsd/oadrsd/2b/StatusCode_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "StatusCode_member.hxx" + +namespace espi +{ + // StatusCode_member + // + + StatusCode_member:: + StatusCode_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + StatusCode_member:: + StatusCode_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + StatusCode_member:: + StatusCode_member (const StatusCode_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // StatusCode_member + // + + StatusCode_member:: + StatusCode_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + StatusCode_member:: + StatusCode_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + StatusCode_member:: + StatusCode_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + StatusCode_member* StatusCode_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class StatusCode_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const StatusCode_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const StatusCode_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const StatusCode_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/StatusCode_member.hxx b/oadrsd/oadrsd/2b/StatusCode_member.hxx new file mode 100644 index 0000000..75121e9 --- /dev/null +++ b/oadrsd/oadrsd/2b/StatusCode_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STATUS_CODE_MEMBER_HXX +#define STATUS_CODE_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class StatusCode_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class StatusCode_member: public ::espi::UInt16 + { + public: + StatusCode_member (::xml_schema::unsigned_short v); + + StatusCode_member (const ::espi::UInt16& v); + + StatusCode_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StatusCode_member (const StatusCode_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual StatusCode_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const StatusCode_member&); + + void + operator<< (::xercesc::DOMAttr&, const StatusCode_member&); + + void + operator<< (::xml_schema::list_stream&, + const StatusCode_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STATUS_CODE_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/StreamBaseType.cxx b/oadrsd/oadrsd/2b/StreamBaseType.cxx new file mode 100644 index 0000000..7b632a2 --- /dev/null +++ b/oadrsd/oadrsd/2b/StreamBaseType.cxx @@ -0,0 +1,395 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "StreamBaseType.hxx" + +#include "dtstart.hxx" + +#include "DurationPropType.hxx" + +#include "intervals.hxx" + +namespace stream +{ + // StreamBaseType + // + + const StreamBaseType::dtstart_optional& StreamBaseType:: + dtstart () const + { + return this->dtstart_; + } + + StreamBaseType::dtstart_optional& StreamBaseType:: + dtstart () + { + return this->dtstart_; + } + + void StreamBaseType:: + dtstart (const dtstart_type& x) + { + this->dtstart_.set (x); + } + + void StreamBaseType:: + dtstart (const dtstart_optional& x) + { + this->dtstart_ = x; + } + + void StreamBaseType:: + dtstart (::std::auto_ptr< dtstart_type > x) + { + this->dtstart_.set (x); + } + + const StreamBaseType::duration_optional& StreamBaseType:: + duration () const + { + return this->duration_; + } + + StreamBaseType::duration_optional& StreamBaseType:: + duration () + { + return this->duration_; + } + + void StreamBaseType:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void StreamBaseType:: + duration (const duration_optional& x) + { + this->duration_ = x; + } + + void StreamBaseType:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } + + const StreamBaseType::intervals_optional& StreamBaseType:: + intervals () const + { + return this->intervals_; + } + + StreamBaseType::intervals_optional& StreamBaseType:: + intervals () + { + return this->intervals_; + } + + void StreamBaseType:: + intervals (const intervals_type& x) + { + this->intervals_.set (x); + } + + void StreamBaseType:: + intervals (const intervals_optional& x) + { + this->intervals_ = x; + } + + void StreamBaseType:: + intervals (::std::auto_ptr< intervals_type > x) + { + this->intervals_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace stream +{ + // StreamBaseType + // + + StreamBaseType:: + StreamBaseType () + : ::xml_schema::type (), + dtstart_ (this), + duration_ (this), + intervals_ (this) + { + } + + StreamBaseType:: + StreamBaseType (const StreamBaseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + dtstart_ (x.dtstart_, f, this), + duration_ (x.duration_, f, this), + intervals_ (x.intervals_, f, this) + { + } + + StreamBaseType:: + StreamBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + dtstart_ (this), + duration_ (this), + intervals_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void StreamBaseType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // dtstart + // + if (n.name () == "dtstart" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< dtstart_type > r ( + dtstart_traits::create (i, f, this)); + + if (!this->dtstart_) + { + this->dtstart_.set (r); + continue; + } + } + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< duration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->duration_) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + // intervals + // + if (n.name () == "intervals" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + ::std::auto_ptr< intervals_type > r ( + intervals_traits::create (i, f, this)); + + if (!this->intervals_) + { + this->intervals_.set (r); + continue; + } + } + + break; + } + } + + StreamBaseType* StreamBaseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class StreamBaseType (*this, f, c); + } + + StreamBaseType& StreamBaseType:: + operator= (const StreamBaseType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->dtstart_ = x.dtstart_; + this->duration_ = x.duration_; + this->intervals_ = x.intervals_; + } + + return *this; + } + + StreamBaseType:: + ~StreamBaseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, StreamBaseType > + _xsd_StreamBaseType_type_factory_init ( + "StreamBaseType", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); +} + +#include +#include +#include + +namespace stream +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace stream +{ + void + operator<< (::xercesc::DOMElement& e, const StreamBaseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // dtstart + // + if (i.dtstart ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << *i.dtstart (); + } + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.duration ()) + { + const StreamBaseType::duration_type& x (*i.duration ()); + if (typeid (StreamBaseType::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } + + // intervals + // + if (i.intervals ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e)); + + s << *i.intervals (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, StreamBaseType > + _xsd_StreamBaseType_type_serializer_init ( + "StreamBaseType", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/StreamBaseType.hxx b/oadrsd/oadrsd/2b/StreamBaseType.hxx new file mode 100644 index 0000000..cf4983d --- /dev/null +++ b/oadrsd/oadrsd/2b/StreamBaseType.hxx @@ -0,0 +1,421 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STREAM_BASE_TYPE_HXX +#define STREAM_BASE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace stream +{ + class StreamBaseType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class dtstart; +} + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace stream +{ + class intervals; +} + +namespace stream +{ + class StreamBaseType: public ::xml_schema::type + { + public: + // dtstart + // + typedef ::icalendar_2_0::dtstart dtstart_type; + typedef ::xsd::cxx::tree::optional< dtstart_type > dtstart_optional; + typedef ::xsd::cxx::tree::traits< dtstart_type, char > dtstart_traits; + + const dtstart_optional& + dtstart () const; + + dtstart_optional& + dtstart (); + + void + dtstart (const dtstart_type& x); + + void + dtstart (const dtstart_optional& x); + + void + dtstart (::std::auto_ptr< dtstart_type > p); + + // duration + // + typedef ::icalendar_2_0::DurationPropType duration_type; + typedef ::xsd::cxx::tree::optional< duration_type > duration_optional; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_optional& + duration () const; + + duration_optional& + duration (); + + void + duration (const duration_type& x); + + void + duration (const duration_optional& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // intervals + // + typedef ::stream::intervals intervals_type; + typedef ::xsd::cxx::tree::optional< intervals_type > intervals_optional; + typedef ::xsd::cxx::tree::traits< intervals_type, char > intervals_traits; + + const intervals_optional& + intervals () const; + + intervals_optional& + intervals (); + + void + intervals (const intervals_type& x); + + void + intervals (const intervals_optional& x); + + void + intervals (::std::auto_ptr< intervals_type > p); + + // Constructors. + // + StreamBaseType (); + + StreamBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StreamBaseType (const StreamBaseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual StreamBaseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + StreamBaseType& + operator= (const StreamBaseType& x); + + virtual + ~StreamBaseType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + dtstart_optional dtstart_; + duration_optional duration_; + intervals_optional intervals_; + }; +} + +#include + +#include +#include +#include + +namespace stream +{ +} + +#include + +#include +#include +#include + +#include + +namespace stream +{ + void + operator<< (::xercesc::DOMElement&, const StreamBaseType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STREAM_BASE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/StreamPayloadBaseType.cxx b/oadrsd/oadrsd/2b/StreamPayloadBaseType.cxx new file mode 100644 index 0000000..79a804f --- /dev/null +++ b/oadrsd/oadrsd/2b/StreamPayloadBaseType.cxx @@ -0,0 +1,176 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "StreamPayloadBaseType.hxx" + +namespace stream +{ + // StreamPayloadBaseType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace stream +{ + // StreamPayloadBaseType + // + + StreamPayloadBaseType:: + StreamPayloadBaseType () + : ::xml_schema::type () + { + } + + StreamPayloadBaseType:: + StreamPayloadBaseType (const StreamPayloadBaseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c) + { + } + + StreamPayloadBaseType:: + StreamPayloadBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f, c) + { + } + + StreamPayloadBaseType:: + StreamPayloadBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (a, f, c) + { + } + + StreamPayloadBaseType:: + StreamPayloadBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (s, e, f, c) + { + } + + StreamPayloadBaseType* StreamPayloadBaseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class StreamPayloadBaseType (*this, f, c); + } + + StreamPayloadBaseType:: + ~StreamPayloadBaseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, StreamPayloadBaseType > + _xsd_StreamPayloadBaseType_type_factory_init ( + "StreamPayloadBaseType", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); +} + +#include +#include +#include + +namespace stream +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace stream +{ + void + operator<< (::xercesc::DOMElement& e, const StreamPayloadBaseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + } + + void + operator<< (::xercesc::DOMAttr&, const StreamPayloadBaseType&) + { + } + + void + operator<< (::xml_schema::list_stream&, + const StreamPayloadBaseType&) + { + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, StreamPayloadBaseType > + _xsd_StreamPayloadBaseType_type_serializer_init ( + "StreamPayloadBaseType", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/StreamPayloadBaseType.hxx b/oadrsd/oadrsd/2b/StreamPayloadBaseType.hxx new file mode 100644 index 0000000..72f859a --- /dev/null +++ b/oadrsd/oadrsd/2b/StreamPayloadBaseType.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STREAM_PAYLOAD_BASE_TYPE_HXX +#define STREAM_PAYLOAD_BASE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace stream +{ + class StreamPayloadBaseType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace stream +{ + class StreamPayloadBaseType: public ::xml_schema::type + { + public: + // Constructors. + // + StreamPayloadBaseType (); + + StreamPayloadBaseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StreamPayloadBaseType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StreamPayloadBaseType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + StreamPayloadBaseType (const StreamPayloadBaseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual StreamPayloadBaseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~StreamPayloadBaseType (); + }; +} + +#include + +#include +#include +#include + +namespace stream +{ +} + +#include + +#include +#include +#include + +#include + +namespace stream +{ + void + operator<< (::xercesc::DOMElement&, const StreamPayloadBaseType&); + + void + operator<< (::xercesc::DOMAttr&, const StreamPayloadBaseType&); + + void + operator<< (::xml_schema::list_stream&, + const StreamPayloadBaseType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STREAM_PAYLOAD_BASE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/String256.cxx b/oadrsd/oadrsd/2b/String256.cxx new file mode 100644 index 0000000..6c62930 --- /dev/null +++ b/oadrsd/oadrsd/2b/String256.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "String256.hxx" + +namespace espi +{ + // String256 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // String256 + // + + String256:: + String256 () + : ::xml_schema::string () + { + } + + String256:: + String256 (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String256:: + String256 (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String256:: + String256 (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String256:: + String256 (const String256& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + String256:: + String256 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + String256:: + String256 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + String256:: + String256 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + String256* String256:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class String256 (*this, f, c); + } + + String256:: + ~String256 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, String256 > + _xsd_String256_type_factory_init ( + "String256", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const String256& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const String256& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const String256& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, String256 > + _xsd_String256_type_serializer_init ( + "String256", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/String256.hxx b/oadrsd/oadrsd/2b/String256.hxx new file mode 100644 index 0000000..8f1b4ea --- /dev/null +++ b/oadrsd/oadrsd/2b/String256.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STRING256_HXX +#define STRING256_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class String256; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class String256: public ::xml_schema::string + { + public: + // Constructors. + // + String256 (); + + String256 (const char*); + + String256 (const ::std::string&); + + String256 (const ::xml_schema::string&); + + String256 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String256 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String256 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String256 (const String256& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual String256* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~String256 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const String256&); + + void + operator<< (::xercesc::DOMAttr&, const String256&); + + void + operator<< (::xml_schema::list_stream&, + const String256&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STRING256_HXX diff --git a/oadrsd/oadrsd/2b/String32.cxx b/oadrsd/oadrsd/2b/String32.cxx new file mode 100644 index 0000000..ac3eaac --- /dev/null +++ b/oadrsd/oadrsd/2b/String32.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "String32.hxx" + +namespace espi +{ + // String32 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // String32 + // + + String32:: + String32 () + : ::xml_schema::string () + { + } + + String32:: + String32 (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String32:: + String32 (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String32:: + String32 (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String32:: + String32 (const String32& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + String32:: + String32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + String32:: + String32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + String32:: + String32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + String32* String32:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class String32 (*this, f, c); + } + + String32:: + ~String32 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, String32 > + _xsd_String32_type_factory_init ( + "String32", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const String32& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const String32& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const String32& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, String32 > + _xsd_String32_type_serializer_init ( + "String32", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/String32.hxx b/oadrsd/oadrsd/2b/String32.hxx new file mode 100644 index 0000000..54f60c5 --- /dev/null +++ b/oadrsd/oadrsd/2b/String32.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STRING32_HXX +#define STRING32_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class String32; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class String32: public ::xml_schema::string + { + public: + // Constructors. + // + String32 (); + + String32 (const char*); + + String32 (const ::std::string&); + + String32 (const ::xml_schema::string&); + + String32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String32 (const String32& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual String32* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~String32 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const String32&); + + void + operator<< (::xercesc::DOMAttr&, const String32&); + + void + operator<< (::xml_schema::list_stream&, + const String32&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STRING32_HXX diff --git a/oadrsd/oadrsd/2b/String64.cxx b/oadrsd/oadrsd/2b/String64.cxx new file mode 100644 index 0000000..4732daf --- /dev/null +++ b/oadrsd/oadrsd/2b/String64.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "String64.hxx" + +namespace espi +{ + // String64 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // String64 + // + + String64:: + String64 () + : ::xml_schema::string () + { + } + + String64:: + String64 (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String64:: + String64 (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String64:: + String64 (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + String64:: + String64 (const String64& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + String64:: + String64 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + String64:: + String64 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + String64:: + String64 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + String64* String64:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class String64 (*this, f, c); + } + + String64:: + ~String64 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, String64 > + _xsd_String64_type_factory_init ( + "String64", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const String64& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const String64& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const String64& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, String64 > + _xsd_String64_type_serializer_init ( + "String64", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/String64.hxx b/oadrsd/oadrsd/2b/String64.hxx new file mode 100644 index 0000000..7fa8384 --- /dev/null +++ b/oadrsd/oadrsd/2b/String64.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef STRING64_HXX +#define STRING64_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class String64; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class String64: public ::xml_schema::string + { + public: + // Constructors. + // + String64 (); + + String64 (const char*); + + String64 (const ::std::string&); + + String64 (const ::xml_schema::string&); + + String64 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String64 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String64 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + String64 (const String64& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual String64* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~String64 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const String64&); + + void + operator<< (::xercesc::DOMAttr&, const String64&); + + void + operator<< (::xml_schema::list_stream&, + const String64&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // STRING64_HXX diff --git a/oadrsd/oadrsd/2b/SummaryMeasurement.cxx b/oadrsd/oadrsd/2b/SummaryMeasurement.cxx new file mode 100644 index 0000000..9cfa3cd --- /dev/null +++ b/oadrsd/oadrsd/2b/SummaryMeasurement.cxx @@ -0,0 +1,544 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "SummaryMeasurement.hxx" + +#include "UnitMultiplierKind.hxx" + +#include "TimeType.hxx" + +#include "UnitSymbolKind.hxx" + +#include "Int48.hxx" + +namespace espi +{ + // SummaryMeasurement + // + + const SummaryMeasurement::powerOfTenMultiplier_optional& SummaryMeasurement:: + powerOfTenMultiplier () const + { + return this->powerOfTenMultiplier_; + } + + SummaryMeasurement::powerOfTenMultiplier_optional& SummaryMeasurement:: + powerOfTenMultiplier () + { + return this->powerOfTenMultiplier_; + } + + void SummaryMeasurement:: + powerOfTenMultiplier (const powerOfTenMultiplier_type& x) + { + this->powerOfTenMultiplier_.set (x); + } + + void SummaryMeasurement:: + powerOfTenMultiplier (const powerOfTenMultiplier_optional& x) + { + this->powerOfTenMultiplier_ = x; + } + + void SummaryMeasurement:: + powerOfTenMultiplier (::std::auto_ptr< powerOfTenMultiplier_type > x) + { + this->powerOfTenMultiplier_.set (x); + } + + const SummaryMeasurement::timeStamp_optional& SummaryMeasurement:: + timeStamp () const + { + return this->timeStamp_; + } + + SummaryMeasurement::timeStamp_optional& SummaryMeasurement:: + timeStamp () + { + return this->timeStamp_; + } + + void SummaryMeasurement:: + timeStamp (const timeStamp_type& x) + { + this->timeStamp_.set (x); + } + + void SummaryMeasurement:: + timeStamp (const timeStamp_optional& x) + { + this->timeStamp_ = x; + } + + void SummaryMeasurement:: + timeStamp (::std::auto_ptr< timeStamp_type > x) + { + this->timeStamp_.set (x); + } + + const SummaryMeasurement::uom_optional& SummaryMeasurement:: + uom () const + { + return this->uom_; + } + + SummaryMeasurement::uom_optional& SummaryMeasurement:: + uom () + { + return this->uom_; + } + + void SummaryMeasurement:: + uom (const uom_type& x) + { + this->uom_.set (x); + } + + void SummaryMeasurement:: + uom (const uom_optional& x) + { + this->uom_ = x; + } + + void SummaryMeasurement:: + uom (::std::auto_ptr< uom_type > x) + { + this->uom_.set (x); + } + + const SummaryMeasurement::value_optional& SummaryMeasurement:: + value () const + { + return this->value_; + } + + SummaryMeasurement::value_optional& SummaryMeasurement:: + value () + { + return this->value_; + } + + void SummaryMeasurement:: + value (const value_type& x) + { + this->value_.set (x); + } + + void SummaryMeasurement:: + value (const value_optional& x) + { + this->value_ = x; + } + + void SummaryMeasurement:: + value (::std::auto_ptr< value_type > x) + { + this->value_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // SummaryMeasurement + // + + SummaryMeasurement:: + SummaryMeasurement () + : ::espi::Object (), + powerOfTenMultiplier_ (this), + timeStamp_ (this), + uom_ (this), + value_ (this) + { + } + + SummaryMeasurement:: + SummaryMeasurement (const SummaryMeasurement& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (x, f, c), + powerOfTenMultiplier_ (x.powerOfTenMultiplier_, f, this), + timeStamp_ (x.timeStamp_, f, this), + uom_ (x.uom_, f, this), + value_ (x.value_, f, this) + { + } + + SummaryMeasurement:: + SummaryMeasurement (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Object (e, f | ::xml_schema::flags::base, c), + powerOfTenMultiplier_ (this), + timeStamp_ (this), + uom_ (this), + value_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void SummaryMeasurement:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::Object::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // powerOfTenMultiplier + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< powerOfTenMultiplier_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->powerOfTenMultiplier_) + { + ::std::auto_ptr< powerOfTenMultiplier_type > r ( + dynamic_cast< powerOfTenMultiplier_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->powerOfTenMultiplier_.set (r); + continue; + } + } + } + + // timeStamp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "timeStamp", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< timeStamp_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->timeStamp_) + { + ::std::auto_ptr< timeStamp_type > r ( + dynamic_cast< timeStamp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->timeStamp_.set (r); + continue; + } + } + } + + // uom + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "uom", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< uom_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->uom_) + { + ::std::auto_ptr< uom_type > r ( + dynamic_cast< uom_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->uom_.set (r); + continue; + } + } + } + + // value + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "value", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< value_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->value_) + { + ::std::auto_ptr< value_type > r ( + dynamic_cast< value_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->value_.set (r); + continue; + } + } + } + + break; + } + } + + SummaryMeasurement* SummaryMeasurement:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class SummaryMeasurement (*this, f, c); + } + + SummaryMeasurement& SummaryMeasurement:: + operator= (const SummaryMeasurement& x) + { + if (this != &x) + { + static_cast< ::espi::Object& > (*this) = x; + this->powerOfTenMultiplier_ = x.powerOfTenMultiplier_; + this->timeStamp_ = x.timeStamp_; + this->uom_ = x.uom_; + this->value_ = x.value_; + } + + return *this; + } + + SummaryMeasurement:: + ~SummaryMeasurement () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, SummaryMeasurement > + _xsd_SummaryMeasurement_type_factory_init ( + "SummaryMeasurement", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const SummaryMeasurement& i) + { + e << static_cast< const ::espi::Object& > (i); + + // powerOfTenMultiplier + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.powerOfTenMultiplier ()) + { + const SummaryMeasurement::powerOfTenMultiplier_type& x (*i.powerOfTenMultiplier ()); + if (typeid (SummaryMeasurement::powerOfTenMultiplier_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "powerOfTenMultiplier", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // timeStamp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.timeStamp ()) + { + const SummaryMeasurement::timeStamp_type& x (*i.timeStamp ()); + if (typeid (SummaryMeasurement::timeStamp_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "timeStamp", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "timeStamp", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // uom + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.uom ()) + { + const SummaryMeasurement::uom_type& x (*i.uom ()); + if (typeid (SummaryMeasurement::uom_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uom", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "uom", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // value + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.value ()) + { + const SummaryMeasurement::value_type& x (*i.value ()); + if (typeid (SummaryMeasurement::value_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "value", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "value", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, SummaryMeasurement > + _xsd_SummaryMeasurement_type_serializer_init ( + "SummaryMeasurement", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/SummaryMeasurement.hxx b/oadrsd/oadrsd/2b/SummaryMeasurement.hxx new file mode 100644 index 0000000..bc54f2c --- /dev/null +++ b/oadrsd/oadrsd/2b/SummaryMeasurement.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SUMMARY_MEASUREMENT_HXX +#define SUMMARY_MEASUREMENT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class SummaryMeasurement; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Object.hxx" + +namespace espi +{ + class UnitMultiplierKind; +} + +namespace espi +{ + class TimeType; +} + +namespace espi +{ + class UnitSymbolKind; +} + +namespace espi +{ + class Int48; +} + +namespace espi +{ + class SummaryMeasurement: public ::espi::Object + { + public: + // powerOfTenMultiplier + // + typedef ::espi::UnitMultiplierKind powerOfTenMultiplier_type; + typedef ::xsd::cxx::tree::optional< powerOfTenMultiplier_type > powerOfTenMultiplier_optional; + typedef ::xsd::cxx::tree::traits< powerOfTenMultiplier_type, char > powerOfTenMultiplier_traits; + + const powerOfTenMultiplier_optional& + powerOfTenMultiplier () const; + + powerOfTenMultiplier_optional& + powerOfTenMultiplier (); + + void + powerOfTenMultiplier (const powerOfTenMultiplier_type& x); + + void + powerOfTenMultiplier (const powerOfTenMultiplier_optional& x); + + void + powerOfTenMultiplier (::std::auto_ptr< powerOfTenMultiplier_type > p); + + // timeStamp + // + typedef ::espi::TimeType timeStamp_type; + typedef ::xsd::cxx::tree::optional< timeStamp_type > timeStamp_optional; + typedef ::xsd::cxx::tree::traits< timeStamp_type, char > timeStamp_traits; + + const timeStamp_optional& + timeStamp () const; + + timeStamp_optional& + timeStamp (); + + void + timeStamp (const timeStamp_type& x); + + void + timeStamp (const timeStamp_optional& x); + + void + timeStamp (::std::auto_ptr< timeStamp_type > p); + + // uom + // + typedef ::espi::UnitSymbolKind uom_type; + typedef ::xsd::cxx::tree::optional< uom_type > uom_optional; + typedef ::xsd::cxx::tree::traits< uom_type, char > uom_traits; + + const uom_optional& + uom () const; + + uom_optional& + uom (); + + void + uom (const uom_type& x); + + void + uom (const uom_optional& x); + + void + uom (::std::auto_ptr< uom_type > p); + + // value + // + typedef ::espi::Int48 value_type; + typedef ::xsd::cxx::tree::optional< value_type > value_optional; + typedef ::xsd::cxx::tree::traits< value_type, char > value_traits; + + const value_optional& + value () const; + + value_optional& + value (); + + void + value (const value_type& x); + + void + value (const value_optional& x); + + void + value (::std::auto_ptr< value_type > p); + + // Constructors. + // + SummaryMeasurement (); + + SummaryMeasurement (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + SummaryMeasurement (const SummaryMeasurement& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual SummaryMeasurement* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + SummaryMeasurement& + operator= (const SummaryMeasurement& x); + + virtual + ~SummaryMeasurement (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + powerOfTenMultiplier_optional powerOfTenMultiplier_; + timeStamp_optional timeStamp_; + uom_optional uom_; + value_optional value_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const SummaryMeasurement&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SUMMARY_MEASUREMENT_HXX diff --git a/oadrsd/oadrsd/2b/ThermType.cxx b/oadrsd/oadrsd/2b/ThermType.cxx new file mode 100644 index 0000000..7dd9e13 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThermType.cxx @@ -0,0 +1,484 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThermType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // ThermType + // + + const ThermType::itemDescription_type& ThermType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + ThermType::itemDescription_type& ThermType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void ThermType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void ThermType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const ThermType::itemDescription_type& ThermType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const ThermType::itemUnits_type& ThermType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + ThermType::itemUnits_type& ThermType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void ThermType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void ThermType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const ThermType::itemUnits_type& ThermType:: + itemUnits_default_value () + { + return itemUnits_default_value_; + } + + const ThermType::siScaleCode_type& ThermType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + ThermType::siScaleCode_type& ThermType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void ThermType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void ThermType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // ThermType + // + + const ThermType::itemDescription_type ThermType::itemDescription_default_value_ ( + "Therm"); + + const ThermType::itemUnits_type ThermType::itemUnits_default_value_ ( + "thm"); + + ThermType:: + ThermType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + ThermType:: + ThermType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + ThermType:: + ThermType (const ThermType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + ThermType:: + ThermType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void ThermType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + ThermType* ThermType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThermType (*this, f, c); + } + + ThermType& ThermType:: + operator= (const ThermType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + ThermType:: + ~ThermType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ThermType > + _xsd_ThermType_type_factory_init ( + "ThermType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const ThermType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ThermType::itemDescription_type& x (i.itemDescription ()); + if (typeid (ThermType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ThermType::itemUnits_type& x (i.itemUnits ()); + if (typeid (ThermType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const ThermType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (ThermType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ThermType > + _xsd_ThermType_type_serializer_init ( + "ThermType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThermType.hxx b/oadrsd/oadrsd/2b/ThermType.hxx new file mode 100644 index 0000000..c34ff4f --- /dev/null +++ b/oadrsd/oadrsd/2b/ThermType.hxx @@ -0,0 +1,427 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THERM_TYPE_HXX +#define THERM_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class ThermType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class ThermType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + static const itemUnits_type& + itemUnits_default_value (); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + ThermType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + ThermType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + ThermType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThermType (const ThermType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThermType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + ThermType& + operator= (const ThermType& x); + + virtual + ~ThermType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + static const itemUnits_type itemUnits_default_value_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const ThermType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THERM_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationType.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationType.cxx new file mode 100644 index 0000000..3598173 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationType.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicationType.hxx" + +namespace espi +{ + // ThirdPartyApplicationType + // + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const char* s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const ThirdPartyApplicationType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicationType + // + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ThirdPartyApplicationType:: + ThirdPartyApplicationType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ThirdPartyApplicationType* ThirdPartyApplicationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicationType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ThirdPartyApplicationType > + _xsd_ThirdPartyApplicationType_type_factory_init ( + "ThirdPartyApplicationType", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicationType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicationType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicationType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ThirdPartyApplicationType > + _xsd_ThirdPartyApplicationType_type_serializer_init ( + "ThirdPartyApplicationType", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationType.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationType.hxx new file mode 100644 index 0000000..7651f19 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationType.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATION_TYPE_HXX +#define THIRD_PARTY_APPLICATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicationType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ThirdPartyApplicationType: public ::xml_schema::string + { + public: + + ThirdPartyApplicationType (const char* v); + + ThirdPartyApplicationType (const ::std::string& v); + + ThirdPartyApplicationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType (const ThirdPartyApplicationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicationType&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicationType&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicationType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.cxx new file mode 100644 index 0000000..d6d10a9 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicationType_member.hxx" + +namespace espi +{ + // ThirdPartyApplicationType_member + // + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (const ThirdPartyApplicationType_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicationType_member + // + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + ThirdPartyApplicationType_member:: + ThirdPartyApplicationType_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + ThirdPartyApplicationType_member* ThirdPartyApplicationType_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicationType_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicationType_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicationType_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicationType_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.hxx new file mode 100644 index 0000000..246ac7e --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationType_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATION_TYPE_MEMBER_HXX +#define THIRD_PARTY_APPLICATION_TYPE_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicationType_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class ThirdPartyApplicationType_member: public ::espi::UInt16 + { + public: + ThirdPartyApplicationType_member (::xml_schema::unsigned_short v); + + ThirdPartyApplicationType_member (const ::espi::UInt16& v); + + ThirdPartyApplicationType_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationType_member (const ThirdPartyApplicationType_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicationType_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicationType_member&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicationType_member&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicationType_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATION_TYPE_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.cxx new file mode 100644 index 0000000..48b5a27 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicationUse.hxx" + +namespace espi +{ + // ThirdPartyApplicationUse + // + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const char* s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const ThirdPartyApplicationUse& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicationUse + // + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ThirdPartyApplicationUse:: + ThirdPartyApplicationUse (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ThirdPartyApplicationUse* ThirdPartyApplicationUse:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicationUse (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ThirdPartyApplicationUse > + _xsd_ThirdPartyApplicationUse_type_factory_init ( + "ThirdPartyApplicationUse", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicationUse& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicationUse& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicationUse& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ThirdPartyApplicationUse > + _xsd_ThirdPartyApplicationUse_type_serializer_init ( + "ThirdPartyApplicationUse", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.hxx new file mode 100644 index 0000000..a6af607 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATION_USE_HXX +#define THIRD_PARTY_APPLICATION_USE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicationUse; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ThirdPartyApplicationUse: public ::xml_schema::string + { + public: + + ThirdPartyApplicationUse (const char* v); + + ThirdPartyApplicationUse (const ::std::string& v); + + ThirdPartyApplicationUse (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse (const ThirdPartyApplicationUse& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicationUse* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicationUse&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicationUse&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicationUse&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATION_USE_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.cxx new file mode 100644 index 0000000..78fca1a --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicationUse_member.hxx" + +namespace espi +{ + // ThirdPartyApplicationUse_member + // + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (const ThirdPartyApplicationUse_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicationUse_member + // + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + ThirdPartyApplicationUse_member:: + ThirdPartyApplicationUse_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + ThirdPartyApplicationUse_member* ThirdPartyApplicationUse_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicationUse_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicationUse_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicationUse_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicationUse_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.hxx new file mode 100644 index 0000000..a76ea2a --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicationUse_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATION_USE_MEMBER_HXX +#define THIRD_PARTY_APPLICATION_USE_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicationUse_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class ThirdPartyApplicationUse_member: public ::espi::UInt16 + { + public: + ThirdPartyApplicationUse_member (::xml_schema::unsigned_short v); + + ThirdPartyApplicationUse_member (const ::espi::UInt16& v); + + ThirdPartyApplicationUse_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicationUse_member (const ThirdPartyApplicationUse_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicationUse_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicationUse_member&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicationUse_member&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicationUse_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATION_USE_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.cxx new file mode 100644 index 0000000..2e40465 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicatonStatus.hxx" + +namespace espi +{ + // ThirdPartyApplicatonStatus + // + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const char* s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const ThirdPartyApplicatonStatus& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicatonStatus + // + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + ThirdPartyApplicatonStatus:: + ThirdPartyApplicatonStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + ThirdPartyApplicatonStatus* ThirdPartyApplicatonStatus:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicatonStatus (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, ThirdPartyApplicatonStatus > + _xsd_ThirdPartyApplicatonStatus_type_factory_init ( + "ThirdPartyApplicatonStatus", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicatonStatus& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicatonStatus& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicatonStatus& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, ThirdPartyApplicatonStatus > + _xsd_ThirdPartyApplicatonStatus_type_serializer_init ( + "ThirdPartyApplicatonStatus", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.hxx new file mode 100644 index 0000000..8760bb8 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATON_STATUS_HXX +#define THIRD_PARTY_APPLICATON_STATUS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicatonStatus; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class ThirdPartyApplicatonStatus: public ::xml_schema::string + { + public: + + ThirdPartyApplicatonStatus (const char* v); + + ThirdPartyApplicatonStatus (const ::std::string& v); + + ThirdPartyApplicatonStatus (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus (const ThirdPartyApplicatonStatus& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicatonStatus* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicatonStatus&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicatonStatus&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicatonStatus&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATON_STATUS_HXX diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.cxx b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.cxx new file mode 100644 index 0000000..ed9adb8 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "ThirdPartyApplicatonStatus_member.hxx" + +namespace espi +{ + // ThirdPartyApplicatonStatus_member + // + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (const ThirdPartyApplicatonStatus_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // ThirdPartyApplicatonStatus_member + // + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + ThirdPartyApplicatonStatus_member:: + ThirdPartyApplicatonStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + ThirdPartyApplicatonStatus_member* ThirdPartyApplicatonStatus_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class ThirdPartyApplicatonStatus_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const ThirdPartyApplicatonStatus_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const ThirdPartyApplicatonStatus_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const ThirdPartyApplicatonStatus_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.hxx b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.hxx new file mode 100644 index 0000000..ebd9de8 --- /dev/null +++ b/oadrsd/oadrsd/2b/ThirdPartyApplicatonStatus_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef THIRD_PARTY_APPLICATON_STATUS_MEMBER_HXX +#define THIRD_PARTY_APPLICATON_STATUS_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class ThirdPartyApplicatonStatus_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class ThirdPartyApplicatonStatus_member: public ::espi::UInt16 + { + public: + ThirdPartyApplicatonStatus_member (::xml_schema::unsigned_short v); + + ThirdPartyApplicatonStatus_member (const ::espi::UInt16& v); + + ThirdPartyApplicatonStatus_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + ThirdPartyApplicatonStatus_member (const ThirdPartyApplicatonStatus_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual ThirdPartyApplicatonStatus_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const ThirdPartyApplicatonStatus_member&); + + void + operator<< (::xercesc::DOMAttr&, const ThirdPartyApplicatonStatus_member&); + + void + operator<< (::xml_schema::list_stream&, + const ThirdPartyApplicatonStatus_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // THIRD_PARTY_APPLICATON_STATUS_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/TimeAttributeKind.cxx b/oadrsd/oadrsd/2b/TimeAttributeKind.cxx new file mode 100644 index 0000000..fa37128 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeAttributeKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimeAttributeKind.hxx" + +namespace espi +{ + // TimeAttributeKind + // + + TimeAttributeKind:: + TimeAttributeKind (const char* s) + : ::xml_schema::string (s) + { + } + + TimeAttributeKind:: + TimeAttributeKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + TimeAttributeKind:: + TimeAttributeKind (const TimeAttributeKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimeAttributeKind + // + + TimeAttributeKind:: + TimeAttributeKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + TimeAttributeKind:: + TimeAttributeKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + TimeAttributeKind:: + TimeAttributeKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + TimeAttributeKind* TimeAttributeKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimeAttributeKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TimeAttributeKind > + _xsd_TimeAttributeKind_type_factory_init ( + "TimeAttributeKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimeAttributeKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const TimeAttributeKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const TimeAttributeKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TimeAttributeKind > + _xsd_TimeAttributeKind_type_serializer_init ( + "TimeAttributeKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimeAttributeKind.hxx b/oadrsd/oadrsd/2b/TimeAttributeKind.hxx new file mode 100644 index 0000000..b08493f --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeAttributeKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_ATTRIBUTE_KIND_HXX +#define TIME_ATTRIBUTE_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimeAttributeKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class TimeAttributeKind: public ::xml_schema::string + { + public: + + TimeAttributeKind (const char* v); + + TimeAttributeKind (const ::std::string& v); + + TimeAttributeKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind (const TimeAttributeKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimeAttributeKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimeAttributeKind&); + + void + operator<< (::xercesc::DOMAttr&, const TimeAttributeKind&); + + void + operator<< (::xml_schema::list_stream&, + const TimeAttributeKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_ATTRIBUTE_KIND_HXX diff --git a/oadrsd/oadrsd/2b/TimeAttributeKind_member.cxx b/oadrsd/oadrsd/2b/TimeAttributeKind_member.cxx new file mode 100644 index 0000000..0d52f8d --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeAttributeKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimeAttributeKind_member.hxx" + +namespace espi +{ + // TimeAttributeKind_member + // + + TimeAttributeKind_member:: + TimeAttributeKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + TimeAttributeKind_member:: + TimeAttributeKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + TimeAttributeKind_member:: + TimeAttributeKind_member (const TimeAttributeKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimeAttributeKind_member + // + + TimeAttributeKind_member:: + TimeAttributeKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + TimeAttributeKind_member:: + TimeAttributeKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + TimeAttributeKind_member:: + TimeAttributeKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + TimeAttributeKind_member* TimeAttributeKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimeAttributeKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimeAttributeKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const TimeAttributeKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const TimeAttributeKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimeAttributeKind_member.hxx b/oadrsd/oadrsd/2b/TimeAttributeKind_member.hxx new file mode 100644 index 0000000..28d26e7 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeAttributeKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_ATTRIBUTE_KIND_MEMBER_HXX +#define TIME_ATTRIBUTE_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimeAttributeKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class TimeAttributeKind_member: public ::espi::UInt16 + { + public: + TimeAttributeKind_member (::xml_schema::unsigned_short v); + + TimeAttributeKind_member (const ::espi::UInt16& v); + + TimeAttributeKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeAttributeKind_member (const TimeAttributeKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimeAttributeKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimeAttributeKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const TimeAttributeKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const TimeAttributeKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_ATTRIBUTE_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/TimeConfiguration.cxx b/oadrsd/oadrsd/2b/TimeConfiguration.cxx new file mode 100644 index 0000000..82657c2 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeConfiguration.cxx @@ -0,0 +1,548 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimeConfiguration.hxx" + +#include "DstRuleType.hxx" + +#include "TimeType.hxx" + +namespace espi +{ + // TimeConfiguration + // + + const TimeConfiguration::dstEndRule_type& TimeConfiguration:: + dstEndRule () const + { + return this->dstEndRule_.get (); + } + + TimeConfiguration::dstEndRule_type& TimeConfiguration:: + dstEndRule () + { + return this->dstEndRule_.get (); + } + + void TimeConfiguration:: + dstEndRule (const dstEndRule_type& x) + { + this->dstEndRule_.set (x); + } + + void TimeConfiguration:: + dstEndRule (::std::auto_ptr< dstEndRule_type > x) + { + this->dstEndRule_.set (x); + } + + const TimeConfiguration::dstOffset_type& TimeConfiguration:: + dstOffset () const + { + return this->dstOffset_.get (); + } + + TimeConfiguration::dstOffset_type& TimeConfiguration:: + dstOffset () + { + return this->dstOffset_.get (); + } + + void TimeConfiguration:: + dstOffset (const dstOffset_type& x) + { + this->dstOffset_.set (x); + } + + void TimeConfiguration:: + dstOffset (::std::auto_ptr< dstOffset_type > x) + { + this->dstOffset_.set (x); + } + + const TimeConfiguration::dstStartRule_type& TimeConfiguration:: + dstStartRule () const + { + return this->dstStartRule_.get (); + } + + TimeConfiguration::dstStartRule_type& TimeConfiguration:: + dstStartRule () + { + return this->dstStartRule_.get (); + } + + void TimeConfiguration:: + dstStartRule (const dstStartRule_type& x) + { + this->dstStartRule_.set (x); + } + + void TimeConfiguration:: + dstStartRule (::std::auto_ptr< dstStartRule_type > x) + { + this->dstStartRule_.set (x); + } + + const TimeConfiguration::tzOffset_type& TimeConfiguration:: + tzOffset () const + { + return this->tzOffset_.get (); + } + + TimeConfiguration::tzOffset_type& TimeConfiguration:: + tzOffset () + { + return this->tzOffset_.get (); + } + + void TimeConfiguration:: + tzOffset (const tzOffset_type& x) + { + this->tzOffset_.set (x); + } + + void TimeConfiguration:: + tzOffset (::std::auto_ptr< tzOffset_type > x) + { + this->tzOffset_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimeConfiguration + // + + TimeConfiguration:: + TimeConfiguration (const dstEndRule_type& dstEndRule, + const dstOffset_type& dstOffset, + const dstStartRule_type& dstStartRule, + const tzOffset_type& tzOffset) + : ::espi::IdentifiedObject (), + dstEndRule_ (dstEndRule, this), + dstOffset_ (dstOffset, this), + dstStartRule_ (dstStartRule, this), + tzOffset_ (tzOffset, this) + { + } + + TimeConfiguration:: + TimeConfiguration (::std::auto_ptr< dstEndRule_type > dstEndRule, + ::std::auto_ptr< dstOffset_type > dstOffset, + ::std::auto_ptr< dstStartRule_type > dstStartRule, + ::std::auto_ptr< tzOffset_type > tzOffset) + : ::espi::IdentifiedObject (), + dstEndRule_ (dstEndRule, this), + dstOffset_ (dstOffset, this), + dstStartRule_ (dstStartRule, this), + tzOffset_ (tzOffset, this) + { + } + + TimeConfiguration:: + TimeConfiguration (const TimeConfiguration& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + dstEndRule_ (x.dstEndRule_, f, this), + dstOffset_ (x.dstOffset_, f, this), + dstStartRule_ (x.dstStartRule_, f, this), + tzOffset_ (x.tzOffset_, f, this) + { + } + + TimeConfiguration:: + TimeConfiguration (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + dstEndRule_ (this), + dstOffset_ (this), + dstStartRule_ (this), + tzOffset_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void TimeConfiguration:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // dstEndRule + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "dstEndRule", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< dstEndRule_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!dstEndRule_.present ()) + { + ::std::auto_ptr< dstEndRule_type > r ( + dynamic_cast< dstEndRule_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->dstEndRule_.set (r); + continue; + } + } + } + + // dstOffset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "dstOffset", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< dstOffset_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!dstOffset_.present ()) + { + ::std::auto_ptr< dstOffset_type > r ( + dynamic_cast< dstOffset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->dstOffset_.set (r); + continue; + } + } + } + + // dstStartRule + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "dstStartRule", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< dstStartRule_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!dstStartRule_.present ()) + { + ::std::auto_ptr< dstStartRule_type > r ( + dynamic_cast< dstStartRule_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->dstStartRule_.set (r); + continue; + } + } + } + + // tzOffset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "tzOffset", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< tzOffset_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!tzOffset_.present ()) + { + ::std::auto_ptr< tzOffset_type > r ( + dynamic_cast< tzOffset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->tzOffset_.set (r); + continue; + } + } + } + + break; + } + + if (!dstEndRule_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dstEndRule", + "http://naesb.org/espi"); + } + + if (!dstOffset_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dstOffset", + "http://naesb.org/espi"); + } + + if (!dstStartRule_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dstStartRule", + "http://naesb.org/espi"); + } + + if (!tzOffset_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "tzOffset", + "http://naesb.org/espi"); + } + } + + TimeConfiguration* TimeConfiguration:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimeConfiguration (*this, f, c); + } + + TimeConfiguration& TimeConfiguration:: + operator= (const TimeConfiguration& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->dstEndRule_ = x.dstEndRule_; + this->dstOffset_ = x.dstOffset_; + this->dstStartRule_ = x.dstStartRule_; + this->tzOffset_ = x.tzOffset_; + } + + return *this; + } + + TimeConfiguration:: + ~TimeConfiguration () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TimeConfiguration > + _xsd_TimeConfiguration_type_factory_init ( + "TimeConfiguration", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimeConfiguration& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // dstEndRule + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TimeConfiguration::dstEndRule_type& x (i.dstEndRule ()); + if (typeid (TimeConfiguration::dstEndRule_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dstEndRule", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "dstEndRule", + "http://naesb.org/espi", + false, true, e, x); + } + + // dstOffset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TimeConfiguration::dstOffset_type& x (i.dstOffset ()); + if (typeid (TimeConfiguration::dstOffset_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dstOffset", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "dstOffset", + "http://naesb.org/espi", + false, true, e, x); + } + + // dstStartRule + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TimeConfiguration::dstStartRule_type& x (i.dstStartRule ()); + if (typeid (TimeConfiguration::dstStartRule_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dstStartRule", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "dstStartRule", + "http://naesb.org/espi", + false, true, e, x); + } + + // tzOffset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TimeConfiguration::tzOffset_type& x (i.tzOffset ()); + if (typeid (TimeConfiguration::tzOffset_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tzOffset", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "tzOffset", + "http://naesb.org/espi", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TimeConfiguration > + _xsd_TimeConfiguration_type_serializer_init ( + "TimeConfiguration", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimeConfiguration.hxx b/oadrsd/oadrsd/2b/TimeConfiguration.hxx new file mode 100644 index 0000000..d0097fa --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeConfiguration.hxx @@ -0,0 +1,432 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_CONFIGURATION_HXX +#define TIME_CONFIGURATION_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimeConfiguration; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class DstRuleType; +} + +namespace espi +{ + class TimeType; +} + +namespace espi +{ + class TimeConfiguration: public ::espi::IdentifiedObject + { + public: + // dstEndRule + // + typedef ::espi::DstRuleType dstEndRule_type; + typedef ::xsd::cxx::tree::traits< dstEndRule_type, char > dstEndRule_traits; + + const dstEndRule_type& + dstEndRule () const; + + dstEndRule_type& + dstEndRule (); + + void + dstEndRule (const dstEndRule_type& x); + + void + dstEndRule (::std::auto_ptr< dstEndRule_type > p); + + // dstOffset + // + typedef ::espi::TimeType dstOffset_type; + typedef ::xsd::cxx::tree::traits< dstOffset_type, char > dstOffset_traits; + + const dstOffset_type& + dstOffset () const; + + dstOffset_type& + dstOffset (); + + void + dstOffset (const dstOffset_type& x); + + void + dstOffset (::std::auto_ptr< dstOffset_type > p); + + // dstStartRule + // + typedef ::espi::DstRuleType dstStartRule_type; + typedef ::xsd::cxx::tree::traits< dstStartRule_type, char > dstStartRule_traits; + + const dstStartRule_type& + dstStartRule () const; + + dstStartRule_type& + dstStartRule (); + + void + dstStartRule (const dstStartRule_type& x); + + void + dstStartRule (::std::auto_ptr< dstStartRule_type > p); + + // tzOffset + // + typedef ::espi::TimeType tzOffset_type; + typedef ::xsd::cxx::tree::traits< tzOffset_type, char > tzOffset_traits; + + const tzOffset_type& + tzOffset () const; + + tzOffset_type& + tzOffset (); + + void + tzOffset (const tzOffset_type& x); + + void + tzOffset (::std::auto_ptr< tzOffset_type > p); + + // Constructors. + // + TimeConfiguration (const dstEndRule_type&, + const dstOffset_type&, + const dstStartRule_type&, + const tzOffset_type&); + + TimeConfiguration (::std::auto_ptr< dstEndRule_type >, + ::std::auto_ptr< dstOffset_type >, + ::std::auto_ptr< dstStartRule_type >, + ::std::auto_ptr< tzOffset_type >); + + TimeConfiguration (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeConfiguration (const TimeConfiguration& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimeConfiguration* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + TimeConfiguration& + operator= (const TimeConfiguration& x); + + virtual + ~TimeConfiguration (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< dstEndRule_type > dstEndRule_; + ::xsd::cxx::tree::one< dstOffset_type > dstOffset_; + ::xsd::cxx::tree::one< dstStartRule_type > dstStartRule_; + ::xsd::cxx::tree::one< tzOffset_type > tzOffset_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimeConfiguration&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_CONFIGURATION_HXX diff --git a/oadrsd/oadrsd/2b/TimePeriodOfInterest.cxx b/oadrsd/oadrsd/2b/TimePeriodOfInterest.cxx new file mode 100644 index 0000000..e358107 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimePeriodOfInterest.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimePeriodOfInterest.hxx" + +namespace espi +{ + // TimePeriodOfInterest + // + + TimePeriodOfInterest:: + TimePeriodOfInterest (const char* s) + : ::xml_schema::string (s) + { + } + + TimePeriodOfInterest:: + TimePeriodOfInterest (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + TimePeriodOfInterest:: + TimePeriodOfInterest (const TimePeriodOfInterest& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimePeriodOfInterest + // + + TimePeriodOfInterest:: + TimePeriodOfInterest (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + TimePeriodOfInterest:: + TimePeriodOfInterest (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + TimePeriodOfInterest:: + TimePeriodOfInterest (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + TimePeriodOfInterest* TimePeriodOfInterest:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimePeriodOfInterest (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TimePeriodOfInterest > + _xsd_TimePeriodOfInterest_type_factory_init ( + "TimePeriodOfInterest", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimePeriodOfInterest& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const TimePeriodOfInterest& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const TimePeriodOfInterest& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TimePeriodOfInterest > + _xsd_TimePeriodOfInterest_type_serializer_init ( + "TimePeriodOfInterest", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimePeriodOfInterest.hxx b/oadrsd/oadrsd/2b/TimePeriodOfInterest.hxx new file mode 100644 index 0000000..2f1f396 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimePeriodOfInterest.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_PERIOD_OF_INTEREST_HXX +#define TIME_PERIOD_OF_INTEREST_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimePeriodOfInterest; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class TimePeriodOfInterest: public ::xml_schema::string + { + public: + + TimePeriodOfInterest (const char* v); + + TimePeriodOfInterest (const ::std::string& v); + + TimePeriodOfInterest (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest (const TimePeriodOfInterest& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimePeriodOfInterest* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimePeriodOfInterest&); + + void + operator<< (::xercesc::DOMAttr&, const TimePeriodOfInterest&); + + void + operator<< (::xml_schema::list_stream&, + const TimePeriodOfInterest&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_PERIOD_OF_INTEREST_HXX diff --git a/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.cxx b/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.cxx new file mode 100644 index 0000000..fa95b43 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimePeriodOfInterest_member.hxx" + +namespace espi +{ + // TimePeriodOfInterest_member + // + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (const TimePeriodOfInterest_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimePeriodOfInterest_member + // + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + TimePeriodOfInterest_member:: + TimePeriodOfInterest_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + TimePeriodOfInterest_member* TimePeriodOfInterest_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimePeriodOfInterest_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimePeriodOfInterest_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const TimePeriodOfInterest_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const TimePeriodOfInterest_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.hxx b/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.hxx new file mode 100644 index 0000000..9b5979e --- /dev/null +++ b/oadrsd/oadrsd/2b/TimePeriodOfInterest_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_PERIOD_OF_INTEREST_MEMBER_HXX +#define TIME_PERIOD_OF_INTEREST_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimePeriodOfInterest_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class TimePeriodOfInterest_member: public ::espi::UInt16 + { + public: + TimePeriodOfInterest_member (::xml_schema::unsigned_short v); + + TimePeriodOfInterest_member (const ::espi::UInt16& v); + + TimePeriodOfInterest_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimePeriodOfInterest_member (const TimePeriodOfInterest_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimePeriodOfInterest_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimePeriodOfInterest_member&); + + void + operator<< (::xercesc::DOMAttr&, const TimePeriodOfInterest_member&); + + void + operator<< (::xml_schema::list_stream&, + const TimePeriodOfInterest_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_PERIOD_OF_INTEREST_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/TimeType.cxx b/oadrsd/oadrsd/2b/TimeType.cxx new file mode 100644 index 0000000..cf1f289 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeType.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TimeType.hxx" + +namespace espi +{ + // TimeType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // TimeType + // + + TimeType:: + TimeType (const ::xml_schema::long_& _xsd_long__base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (_xsd_long__base) + { + } + + TimeType:: + TimeType (const TimeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (x, f, c) + { + } + + TimeType:: + TimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (e, f, c) + { + } + + TimeType:: + TimeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (a, f, c) + { + } + + TimeType:: + TimeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + TimeType* TimeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TimeType (*this, f, c); + } + + TimeType:: + ~TimeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TimeType > + _xsd_TimeType_type_factory_init ( + "TimeType", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const TimeType& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const TimeType& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const TimeType& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TimeType > + _xsd_TimeType_type_serializer_init ( + "TimeType", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TimeType.hxx b/oadrsd/oadrsd/2b/TimeType.hxx new file mode 100644 index 0000000..76f0ef9 --- /dev/null +++ b/oadrsd/oadrsd/2b/TimeType.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TIME_TYPE_HXX +#define TIME_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class TimeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class TimeType: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::long_, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + TimeType (const ::xml_schema::long_&); + + TimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TimeType (const TimeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TimeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~TimeType (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const TimeType&); + + void + operator<< (::xercesc::DOMAttr&, const TimeType&); + + void + operator<< (::xml_schema::list_stream&, + const TimeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TIME_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/TnBFieldParamsType.cxx b/oadrsd/oadrsd/2b/TnBFieldParamsType.cxx new file mode 100644 index 0000000..5f7008e --- /dev/null +++ b/oadrsd/oadrsd/2b/TnBFieldParamsType.cxx @@ -0,0 +1,245 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TnBFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // TnBFieldParamsType + // + + const TnBFieldParamsType::K_type& TnBFieldParamsType:: + K () const + { + return this->K_.get (); + } + + TnBFieldParamsType::K_type& TnBFieldParamsType:: + K () + { + return this->K_.get (); + } + + void TnBFieldParamsType:: + K (const K_type& x) + { + this->K_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // TnBFieldParamsType + // + + TnBFieldParamsType:: + TnBFieldParamsType (const M_type& M, + const K_type& K) + : ::oadr2b::dsig11::CharTwoFieldParamsType (M), + K_ (K, this) + { + } + + TnBFieldParamsType:: + TnBFieldParamsType (const TnBFieldParamsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::dsig11::CharTwoFieldParamsType (x, f, c), + K_ (x.K_, f, this) + { + } + + TnBFieldParamsType:: + TnBFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::dsig11::CharTwoFieldParamsType (e, f | ::xml_schema::flags::base, c), + K_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void TnBFieldParamsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::oadr2b::dsig11::CharTwoFieldParamsType::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // K + // + if (n.name () == "K" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + if (!K_.present ()) + { + this->K_.set (K_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!K_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "K", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + TnBFieldParamsType* TnBFieldParamsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TnBFieldParamsType (*this, f, c); + } + + TnBFieldParamsType& TnBFieldParamsType:: + operator= (const TnBFieldParamsType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::dsig11::CharTwoFieldParamsType& > (*this) = x; + this->K_ = x.K_; + } + + return *this; + } + + TnBFieldParamsType:: + ~TnBFieldParamsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TnBFieldParamsType > + _xsd_TnBFieldParamsType_type_factory_init ( + "TnBFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const TnBFieldParamsType& i) + { + e << static_cast< const ::oadr2b::dsig11::CharTwoFieldParamsType& > (i); + + // K + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "K", + "http://www.w3.org/2009/xmldsig11#", + e)); + + s << i.K (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TnBFieldParamsType > + _xsd_TnBFieldParamsType_type_serializer_init ( + "TnBFieldParamsType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TnBFieldParamsType.hxx b/oadrsd/oadrsd/2b/TnBFieldParamsType.hxx new file mode 100644 index 0000000..ccd5fc6 --- /dev/null +++ b/oadrsd/oadrsd/2b/TnBFieldParamsType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TN_BFIELD_PARAMS_TYPE_HXX +#define TN_BFIELD_PARAMS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class TnBFieldParamsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "CharTwoFieldParamsType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + class TnBFieldParamsType: public ::oadr2b::dsig11::CharTwoFieldParamsType + { + public: + // K + // + typedef ::xml_schema::positive_integer K_type; + typedef ::xsd::cxx::tree::traits< K_type, char > K_traits; + + const K_type& + K () const; + + K_type& + K (); + + void + K (const K_type& x); + + // Constructors. + // + TnBFieldParamsType (const M_type&, + const K_type&); + + TnBFieldParamsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TnBFieldParamsType (const TnBFieldParamsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TnBFieldParamsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + TnBFieldParamsType& + operator= (const TnBFieldParamsType& x); + + virtual + ~TnBFieldParamsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< K_type > K_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const TnBFieldParamsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TN_BFIELD_PARAMS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/TransformType.cxx b/oadrsd/oadrsd/2b/TransformType.cxx new file mode 100644 index 0000000..72de6c2 --- /dev/null +++ b/oadrsd/oadrsd/2b/TransformType.cxx @@ -0,0 +1,325 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TransformType.hxx" + +namespace oadr2b +{ + namespace sig + { + // TransformType + // + + const TransformType::XPath_sequence& TransformType:: + XPath () const + { + return this->XPath_; + } + + TransformType::XPath_sequence& TransformType:: + XPath () + { + return this->XPath_; + } + + void TransformType:: + XPath (const XPath_sequence& s) + { + this->XPath_ = s; + } + + const TransformType::Algorithm_type& TransformType:: + Algorithm () const + { + return this->Algorithm_.get (); + } + + TransformType::Algorithm_type& TransformType:: + Algorithm () + { + return this->Algorithm_.get (); + } + + void TransformType:: + Algorithm (const Algorithm_type& x) + { + this->Algorithm_.set (x); + } + + void TransformType:: + Algorithm (::std::auto_ptr< Algorithm_type > x) + { + this->Algorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // TransformType + // + + TransformType:: + TransformType (const Algorithm_type& Algorithm) + : ::xml_schema::type (), + XPath_ (this), + Algorithm_ (Algorithm, this) + { + } + + TransformType:: + TransformType (const TransformType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + XPath_ (x.XPath_, f, this), + Algorithm_ (x.Algorithm_, f, this) + { + } + + TransformType:: + TransformType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + XPath_ (this), + Algorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void TransformType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // XPath + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "XPath", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< XPath_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< XPath_type > r ( + dynamic_cast< XPath_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->XPath_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Algorithm" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + this->Algorithm_.set (Algorithm_traits::create (i, f, this)); + continue; + } + } + + if (!Algorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + TransformType* TransformType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TransformType (*this, f, c); + } + + TransformType& TransformType:: + operator= (const TransformType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->XPath_ = x.XPath_; + this->Algorithm_ = x.Algorithm_; + } + + return *this; + } + + TransformType:: + ~TransformType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TransformType > + _xsd_TransformType_type_factory_init ( + "TransformType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const TransformType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // XPath + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (TransformType::XPath_const_iterator + b (i.XPath ().begin ()), n (i.XPath ().end ()); + b != n; ++b) + { + if (typeid (TransformType::XPath_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "XPath", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "XPath", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + + // Algorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Algorithm", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + a << i.Algorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TransformType > + _xsd_TransformType_type_serializer_init ( + "TransformType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TransformType.hxx b/oadrsd/oadrsd/2b/TransformType.hxx new file mode 100644 index 0000000..8d86233 --- /dev/null +++ b/oadrsd/oadrsd/2b/TransformType.hxx @@ -0,0 +1,388 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TRANSFORM_TYPE_HXX +#define TRANSFORM_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class TransformType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class TransformType: public ::xml_schema::type + { + public: + // XPath + // + typedef ::xml_schema::string XPath_type; + typedef ::xsd::cxx::tree::sequence< XPath_type > XPath_sequence; + typedef XPath_sequence::iterator XPath_iterator; + typedef XPath_sequence::const_iterator XPath_const_iterator; + typedef ::xsd::cxx::tree::traits< XPath_type, char > XPath_traits; + + const XPath_sequence& + XPath () const; + + XPath_sequence& + XPath (); + + void + XPath (const XPath_sequence& s); + + // Algorithm + // + typedef ::xml_schema::uri Algorithm_type; + typedef ::xsd::cxx::tree::traits< Algorithm_type, char > Algorithm_traits; + + const Algorithm_type& + Algorithm () const; + + Algorithm_type& + Algorithm (); + + void + Algorithm (const Algorithm_type& x); + + void + Algorithm (::std::auto_ptr< Algorithm_type > p); + + // Constructors. + // + TransformType (const Algorithm_type&); + + TransformType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TransformType (const TransformType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TransformType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + TransformType& + operator= (const TransformType& x); + + virtual + ~TransformType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + XPath_sequence XPath_; + ::xsd::cxx::tree::one< Algorithm_type > Algorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const TransformType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TRANSFORM_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/TransformsType.cxx b/oadrsd/oadrsd/2b/TransformsType.cxx new file mode 100644 index 0000000..20e4ee5 --- /dev/null +++ b/oadrsd/oadrsd/2b/TransformsType.cxx @@ -0,0 +1,267 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TransformsType.hxx" + +#include "TransformType.hxx" + +namespace oadr2b +{ + namespace sig + { + // TransformsType + // + + const TransformsType::Transform_sequence& TransformsType:: + Transform () const + { + return this->Transform_; + } + + TransformsType::Transform_sequence& TransformsType:: + Transform () + { + return this->Transform_; + } + + void TransformsType:: + Transform (const Transform_sequence& s) + { + this->Transform_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // TransformsType + // + + TransformsType:: + TransformsType () + : ::xml_schema::type (), + Transform_ (this) + { + } + + TransformsType:: + TransformsType (const TransformsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Transform_ (x.Transform_, f, this) + { + } + + TransformsType:: + TransformsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Transform_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void TransformsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Transform + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Transform_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< Transform_type > r ( + dynamic_cast< Transform_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Transform_.push_back (r); + continue; + } + } + + break; + } + } + + TransformsType* TransformsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TransformsType (*this, f, c); + } + + TransformsType& TransformsType:: + operator= (const TransformsType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Transform_ = x.Transform_; + } + + return *this; + } + + TransformsType:: + ~TransformsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TransformsType > + _xsd_TransformsType_type_factory_init ( + "TransformsType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const TransformsType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Transform + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (TransformsType::Transform_const_iterator + b (i.Transform ().begin ()), n (i.Transform ().end ()); + b != n; ++b) + { + if (typeid (TransformsType::Transform_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TransformsType > + _xsd_TransformsType_type_serializer_init ( + "TransformsType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TransformsType.hxx b/oadrsd/oadrsd/2b/TransformsType.hxx new file mode 100644 index 0000000..55aba16 --- /dev/null +++ b/oadrsd/oadrsd/2b/TransformsType.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TRANSFORMS_TYPE_HXX +#define TRANSFORMS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class TransformsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class TransformType; + } +} + +namespace oadr2b +{ + namespace sig + { + class TransformsType: public ::xml_schema::type + { + public: + // Transform + // + typedef ::oadr2b::sig::TransformType Transform_type; + typedef ::xsd::cxx::tree::sequence< Transform_type > Transform_sequence; + typedef Transform_sequence::iterator Transform_iterator; + typedef Transform_sequence::const_iterator Transform_const_iterator; + typedef ::xsd::cxx::tree::traits< Transform_type, char > Transform_traits; + + const Transform_sequence& + Transform () const; + + Transform_sequence& + Transform (); + + void + Transform (const Transform_sequence& s); + + // Constructors. + // + TransformsType (); + + TransformsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TransformsType (const TransformsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TransformsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + TransformsType& + operator= (const TransformsType& x); + + virtual + ~TransformsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Transform_sequence Transform_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const TransformsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TRANSFORMS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/TransportInterfaceType.cxx b/oadrsd/oadrsd/2b/TransportInterfaceType.cxx new file mode 100644 index 0000000..32fed85 --- /dev/null +++ b/oadrsd/oadrsd/2b/TransportInterfaceType.cxx @@ -0,0 +1,364 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "TransportInterfaceType.hxx" + +#include "NodeType.hxx" + +namespace power +{ + // TransportInterfaceType + // + + const TransportInterfaceType::pointOfReceipt_type& TransportInterfaceType:: + pointOfReceipt () const + { + return this->pointOfReceipt_.get (); + } + + TransportInterfaceType::pointOfReceipt_type& TransportInterfaceType:: + pointOfReceipt () + { + return this->pointOfReceipt_.get (); + } + + void TransportInterfaceType:: + pointOfReceipt (const pointOfReceipt_type& x) + { + this->pointOfReceipt_.set (x); + } + + void TransportInterfaceType:: + pointOfReceipt (::std::auto_ptr< pointOfReceipt_type > x) + { + this->pointOfReceipt_.set (x); + } + + const TransportInterfaceType::pointOfDelivery_type& TransportInterfaceType:: + pointOfDelivery () const + { + return this->pointOfDelivery_.get (); + } + + TransportInterfaceType::pointOfDelivery_type& TransportInterfaceType:: + pointOfDelivery () + { + return this->pointOfDelivery_.get (); + } + + void TransportInterfaceType:: + pointOfDelivery (const pointOfDelivery_type& x) + { + this->pointOfDelivery_.set (x); + } + + void TransportInterfaceType:: + pointOfDelivery (::std::auto_ptr< pointOfDelivery_type > x) + { + this->pointOfDelivery_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // TransportInterfaceType + // + + TransportInterfaceType:: + TransportInterfaceType (const pointOfReceipt_type& pointOfReceipt, + const pointOfDelivery_type& pointOfDelivery) + : ::xml_schema::type (), + pointOfReceipt_ (pointOfReceipt, this), + pointOfDelivery_ (pointOfDelivery, this) + { + } + + TransportInterfaceType:: + TransportInterfaceType (::std::auto_ptr< pointOfReceipt_type > pointOfReceipt, + ::std::auto_ptr< pointOfDelivery_type > pointOfDelivery) + : ::xml_schema::type (), + pointOfReceipt_ (pointOfReceipt, this), + pointOfDelivery_ (pointOfDelivery, this) + { + } + + TransportInterfaceType:: + TransportInterfaceType (const TransportInterfaceType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + pointOfReceipt_ (x.pointOfReceipt_, f, this), + pointOfDelivery_ (x.pointOfDelivery_, f, this) + { + } + + TransportInterfaceType:: + TransportInterfaceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + pointOfReceipt_ (this), + pointOfDelivery_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void TransportInterfaceType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // pointOfReceipt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pointOfReceipt", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< pointOfReceipt_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!pointOfReceipt_.present ()) + { + ::std::auto_ptr< pointOfReceipt_type > r ( + dynamic_cast< pointOfReceipt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->pointOfReceipt_.set (r); + continue; + } + } + } + + // pointOfDelivery + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pointOfDelivery", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< pointOfDelivery_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!pointOfDelivery_.present ()) + { + ::std::auto_ptr< pointOfDelivery_type > r ( + dynamic_cast< pointOfDelivery_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->pointOfDelivery_.set (r); + continue; + } + } + } + + break; + } + + if (!pointOfReceipt_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "pointOfReceipt", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!pointOfDelivery_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "pointOfDelivery", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + + TransportInterfaceType* TransportInterfaceType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class TransportInterfaceType (*this, f, c); + } + + TransportInterfaceType& TransportInterfaceType:: + operator= (const TransportInterfaceType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->pointOfReceipt_ = x.pointOfReceipt_; + this->pointOfDelivery_ = x.pointOfDelivery_; + } + + return *this; + } + + TransportInterfaceType:: + ~TransportInterfaceType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, TransportInterfaceType > + _xsd_TransportInterfaceType_type_factory_init ( + "TransportInterfaceType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const TransportInterfaceType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // pointOfReceipt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TransportInterfaceType::pointOfReceipt_type& x (i.pointOfReceipt ()); + if (typeid (TransportInterfaceType::pointOfReceipt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "pointOfReceipt", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "pointOfReceipt", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // pointOfDelivery + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const TransportInterfaceType::pointOfDelivery_type& x (i.pointOfDelivery ()); + if (typeid (TransportInterfaceType::pointOfDelivery_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "pointOfDelivery", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "pointOfDelivery", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, TransportInterfaceType > + _xsd_TransportInterfaceType_type_serializer_init ( + "TransportInterfaceType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/TransportInterfaceType.hxx b/oadrsd/oadrsd/2b/TransportInterfaceType.hxx new file mode 100644 index 0000000..de72f0e --- /dev/null +++ b/oadrsd/oadrsd/2b/TransportInterfaceType.hxx @@ -0,0 +1,385 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TRANSPORT_INTERFACE_TYPE_HXX +#define TRANSPORT_INTERFACE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class TransportInterfaceType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace power +{ + class NodeType; +} + +namespace power +{ + class TransportInterfaceType: public ::xml_schema::type + { + public: + // pointOfReceipt + // + typedef ::power::NodeType pointOfReceipt_type; + typedef ::xsd::cxx::tree::traits< pointOfReceipt_type, char > pointOfReceipt_traits; + + const pointOfReceipt_type& + pointOfReceipt () const; + + pointOfReceipt_type& + pointOfReceipt (); + + void + pointOfReceipt (const pointOfReceipt_type& x); + + void + pointOfReceipt (::std::auto_ptr< pointOfReceipt_type > p); + + // pointOfDelivery + // + typedef ::power::NodeType pointOfDelivery_type; + typedef ::xsd::cxx::tree::traits< pointOfDelivery_type, char > pointOfDelivery_traits; + + const pointOfDelivery_type& + pointOfDelivery () const; + + pointOfDelivery_type& + pointOfDelivery (); + + void + pointOfDelivery (const pointOfDelivery_type& x); + + void + pointOfDelivery (::std::auto_ptr< pointOfDelivery_type > p); + + // Constructors. + // + TransportInterfaceType (const pointOfReceipt_type&, + const pointOfDelivery_type&); + + TransportInterfaceType (::std::auto_ptr< pointOfReceipt_type >, + ::std::auto_ptr< pointOfDelivery_type >); + + TransportInterfaceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + TransportInterfaceType (const TransportInterfaceType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual TransportInterfaceType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + TransportInterfaceType& + operator= (const TransportInterfaceType& x); + + virtual + ~TransportInterfaceType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< pointOfReceipt_type > pointOfReceipt_; + ::xsd::cxx::tree::one< pointOfDelivery_type > pointOfDelivery_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const TransportInterfaceType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TRANSPORT_INTERFACE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/UInt16.cxx b/oadrsd/oadrsd/2b/UInt16.cxx new file mode 100644 index 0000000..b3dba11 --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt16.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UInt16.hxx" + +namespace espi +{ + // UInt16 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UInt16 + // + + UInt16:: + UInt16 (const ::xml_schema::unsigned_short& _xsd_unsigned_short_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > (_xsd_unsigned_short_base) + { + } + + UInt16:: + UInt16 (const UInt16& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > (x, f, c) + { + } + + UInt16:: + UInt16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > (e, f, c) + { + } + + UInt16:: + UInt16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > (a, f, c) + { + } + + UInt16:: + UInt16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + UInt16* UInt16:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UInt16 (*this, f, c); + } + + UInt16:: + ~UInt16 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UInt16 > + _xsd_UInt16_type_factory_init ( + "UInt16", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UInt16& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UInt16& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UInt16& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UInt16 > + _xsd_UInt16_type_serializer_init ( + "UInt16", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UInt16.hxx b/oadrsd/oadrsd/2b/UInt16.hxx new file mode 100644 index 0000000..f94df99 --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt16.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UINT16_HXX +#define UINT16_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UInt16; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UInt16: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_short, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + UInt16 (const ::xml_schema::unsigned_short&); + + UInt16 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt16 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt16 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt16 (const UInt16& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UInt16* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UInt16 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UInt16&); + + void + operator<< (::xercesc::DOMAttr&, const UInt16&); + + void + operator<< (::xml_schema::list_stream&, + const UInt16&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UINT16_HXX diff --git a/oadrsd/oadrsd/2b/UInt32.cxx b/oadrsd/oadrsd/2b/UInt32.cxx new file mode 100644 index 0000000..9ae6653 --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt32.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UInt32.hxx" + +namespace espi +{ + // UInt32 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UInt32 + // + + UInt32:: + UInt32 (const ::xml_schema::unsigned_int& _xsd_unsigned_int_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (_xsd_unsigned_int_base) + { + } + + UInt32:: + UInt32 (const UInt32& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (x, f, c) + { + } + + UInt32:: + UInt32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (e, f, c) + { + } + + UInt32:: + UInt32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (a, f, c) + { + } + + UInt32:: + UInt32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + UInt32* UInt32:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UInt32 (*this, f, c); + } + + UInt32:: + ~UInt32 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UInt32 > + _xsd_UInt32_type_factory_init ( + "UInt32", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UInt32& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UInt32& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UInt32& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UInt32 > + _xsd_UInt32_type_serializer_init ( + "UInt32", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UInt32.hxx b/oadrsd/oadrsd/2b/UInt32.hxx new file mode 100644 index 0000000..67af37b --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt32.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UINT32_HXX +#define UINT32_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UInt32; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UInt32: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_int, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + UInt32 (const ::xml_schema::unsigned_int&); + + UInt32 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt32 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt32 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt32 (const UInt32& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UInt32* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UInt32 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UInt32&); + + void + operator<< (::xercesc::DOMAttr&, const UInt32&); + + void + operator<< (::xml_schema::list_stream&, + const UInt32&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UINT32_HXX diff --git a/oadrsd/oadrsd/2b/UInt48.cxx b/oadrsd/oadrsd/2b/UInt48.cxx new file mode 100644 index 0000000..2ba5f8a --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt48.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UInt48.hxx" + +namespace espi +{ + // UInt48 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UInt48 + // + + UInt48:: + UInt48 (const ::xml_schema::unsigned_long& _xsd_unsigned_long_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > (_xsd_unsigned_long_base) + { + } + + UInt48:: + UInt48 (const UInt48& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > (x, f, c) + { + } + + UInt48:: + UInt48 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > (e, f, c) + { + } + + UInt48:: + UInt48 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > (a, f, c) + { + } + + UInt48:: + UInt48 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + UInt48* UInt48:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UInt48 (*this, f, c); + } + + UInt48:: + ~UInt48 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UInt48 > + _xsd_UInt48_type_factory_init ( + "UInt48", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UInt48& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UInt48& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UInt48& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UInt48 > + _xsd_UInt48_type_serializer_init ( + "UInt48", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UInt48.hxx b/oadrsd/oadrsd/2b/UInt48.hxx new file mode 100644 index 0000000..4414e66 --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt48.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UINT48_HXX +#define UINT48_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UInt48; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UInt48: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_long, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + UInt48 (const ::xml_schema::unsigned_long&); + + UInt48 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt48 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt48 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt48 (const UInt48& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UInt48* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UInt48 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UInt48&); + + void + operator<< (::xercesc::DOMAttr&, const UInt48&); + + void + operator<< (::xml_schema::list_stream&, + const UInt48&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UINT48_HXX diff --git a/oadrsd/oadrsd/2b/UInt8.cxx b/oadrsd/oadrsd/2b/UInt8.cxx new file mode 100644 index 0000000..2f721c6 --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt8.cxx @@ -0,0 +1,178 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UInt8.hxx" + +namespace espi +{ + // UInt8 + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UInt8 + // + + UInt8:: + UInt8 (const ::xml_schema::unsigned_byte& _xsd_unsigned_byte_base) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > (_xsd_unsigned_byte_base) + { + } + + UInt8:: + UInt8 (const UInt8& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > (x, f, c) + { + } + + UInt8:: + UInt8 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > (e, f, c) + { + } + + UInt8:: + UInt8 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > (a, f, c) + { + } + + UInt8:: + UInt8 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > (s, e, f, c) + { + } + + UInt8* UInt8:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UInt8 (*this, f, c); + } + + UInt8:: + ~UInt8 () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UInt8 > + _xsd_UInt8_type_factory_init ( + "UInt8", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UInt8& i) + { + e << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UInt8& i) + { + a << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UInt8& i) + { + l << static_cast< const ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UInt8 > + _xsd_UInt8_type_serializer_init ( + "UInt8", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UInt8.hxx b/oadrsd/oadrsd/2b/UInt8.hxx new file mode 100644 index 0000000..b168a1f --- /dev/null +++ b/oadrsd/oadrsd/2b/UInt8.hxx @@ -0,0 +1,344 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UINT8_HXX +#define UINT8_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UInt8; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UInt8: public ::xsd::cxx::tree::fundamental_base< ::xml_schema::unsigned_byte, char, ::xml_schema::simple_type > + { + public: + // Constructors. + // + UInt8 (const ::xml_schema::unsigned_byte&); + + UInt8 (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt8 (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt8 (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UInt8 (const UInt8& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UInt8* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UInt8 (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UInt8&); + + void + operator<< (::xercesc::DOMAttr&, const UInt8&); + + void + operator<< (::xml_schema::list_stream&, + const UInt8&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UINT8_HXX diff --git a/oadrsd/oadrsd/2b/UUIDType.cxx b/oadrsd/oadrsd/2b/UUIDType.cxx new file mode 100644 index 0000000..de58fe6 --- /dev/null +++ b/oadrsd/oadrsd/2b/UUIDType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UUIDType.hxx" + +namespace espi +{ + // UUIDType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UUIDType + // + + UUIDType:: + UUIDType () + : ::xml_schema::string () + { + } + + UUIDType:: + UUIDType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UUIDType:: + UUIDType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UUIDType:: + UUIDType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UUIDType:: + UUIDType (const UUIDType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + UUIDType:: + UUIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + UUIDType:: + UUIDType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + UUIDType:: + UUIDType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + UUIDType* UUIDType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UUIDType (*this, f, c); + } + + UUIDType:: + ~UUIDType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UUIDType > + _xsd_UUIDType_type_factory_init ( + "UUIDType", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UUIDType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UUIDType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UUIDType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UUIDType > + _xsd_UUIDType_type_serializer_init ( + "UUIDType", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UUIDType.hxx b/oadrsd/oadrsd/2b/UUIDType.hxx new file mode 100644 index 0000000..f9966bb --- /dev/null +++ b/oadrsd/oadrsd/2b/UUIDType.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UUIDTYPE_HXX +#define UUIDTYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UUIDType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UUIDType: public ::xml_schema::string + { + public: + // Constructors. + // + UUIDType (); + + UUIDType (const char*); + + UUIDType (const ::std::string&); + + UUIDType (const ::xml_schema::string&); + + UUIDType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UUIDType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UUIDType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UUIDType (const UUIDType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UUIDType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UUIDType (); + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UUIDType&); + + void + operator<< (::xercesc::DOMAttr&, const UUIDType&); + + void + operator<< (::xml_schema::list_stream&, + const UUIDType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UUIDTYPE_HXX diff --git a/oadrsd/oadrsd/2b/UidType.cxx b/oadrsd/oadrsd/2b/UidType.cxx new file mode 100644 index 0000000..4d0d64c --- /dev/null +++ b/oadrsd/oadrsd/2b/UidType.cxx @@ -0,0 +1,208 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UidType.hxx" + +namespace oadr2b +{ + namespace ei + { + // UidType + // + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // UidType + // + + UidType:: + UidType () + : ::xml_schema::string () + { + } + + UidType:: + UidType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UidType:: + UidType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UidType:: + UidType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base) + { + } + + UidType:: + UidType (const UidType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c) + { + } + + UidType:: + UidType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + UidType:: + UidType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + UidType:: + UidType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + UidType* UidType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UidType (*this, f, c); + } + + UidType:: + ~UidType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UidType > + _xsd_UidType_type_factory_init ( + "UidType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const UidType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UidType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UidType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UidType > + _xsd_UidType_type_serializer_init ( + "UidType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UidType.hxx b/oadrsd/oadrsd/2b/UidType.hxx new file mode 100644 index 0000000..98bea87 --- /dev/null +++ b/oadrsd/oadrsd/2b/UidType.hxx @@ -0,0 +1,362 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UID_TYPE_HXX +#define UID_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class UidType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class UidType: public ::xml_schema::string + { + public: + // Constructors. + // + UidType (); + + UidType (const char*); + + UidType (const ::std::string&); + + UidType (const ::xml_schema::string&); + + UidType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UidType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UidType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UidType (const UidType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UidType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~UidType (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const UidType&); + + void + operator<< (::xercesc::DOMAttr&, const UidType&); + + void + operator<< (::xml_schema::list_stream&, + const UidType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UID_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/UnitMultiplierKind.cxx b/oadrsd/oadrsd/2b/UnitMultiplierKind.cxx new file mode 100644 index 0000000..48bd99a --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitMultiplierKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UnitMultiplierKind.hxx" + +namespace espi +{ + // UnitMultiplierKind + // + + UnitMultiplierKind:: + UnitMultiplierKind (const char* s) + : ::xml_schema::string (s) + { + } + + UnitMultiplierKind:: + UnitMultiplierKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + UnitMultiplierKind:: + UnitMultiplierKind (const UnitMultiplierKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UnitMultiplierKind + // + + UnitMultiplierKind:: + UnitMultiplierKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + UnitMultiplierKind:: + UnitMultiplierKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + UnitMultiplierKind:: + UnitMultiplierKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + UnitMultiplierKind* UnitMultiplierKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UnitMultiplierKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UnitMultiplierKind > + _xsd_UnitMultiplierKind_type_factory_init ( + "UnitMultiplierKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UnitMultiplierKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UnitMultiplierKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UnitMultiplierKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UnitMultiplierKind > + _xsd_UnitMultiplierKind_type_serializer_init ( + "UnitMultiplierKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UnitMultiplierKind.hxx b/oadrsd/oadrsd/2b/UnitMultiplierKind.hxx new file mode 100644 index 0000000..221c39b --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitMultiplierKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UNIT_MULTIPLIER_KIND_HXX +#define UNIT_MULTIPLIER_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UnitMultiplierKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UnitMultiplierKind: public ::xml_schema::string + { + public: + + UnitMultiplierKind (const char* v); + + UnitMultiplierKind (const ::std::string& v); + + UnitMultiplierKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind (const UnitMultiplierKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UnitMultiplierKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UnitMultiplierKind&); + + void + operator<< (::xercesc::DOMAttr&, const UnitMultiplierKind&); + + void + operator<< (::xml_schema::list_stream&, + const UnitMultiplierKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UNIT_MULTIPLIER_KIND_HXX diff --git a/oadrsd/oadrsd/2b/UnitMultiplierKind_member.cxx b/oadrsd/oadrsd/2b/UnitMultiplierKind_member.cxx new file mode 100644 index 0000000..3a9d2cf --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitMultiplierKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UnitMultiplierKind_member.hxx" + +namespace espi +{ + // UnitMultiplierKind_member + // + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (::xml_schema::short_ v): ::espi::Int16 (v) + { + } + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (const ::espi::Int16& v) + : ::espi::Int16 (v) + { + } + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (const UnitMultiplierKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Int16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UnitMultiplierKind_member + // + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Int16 (e, f, c) + { + } + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Int16 (a, f, c) + { + } + + UnitMultiplierKind_member:: + UnitMultiplierKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::Int16 (s, e, f, c) + { + } + + UnitMultiplierKind_member* UnitMultiplierKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UnitMultiplierKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UnitMultiplierKind_member& i) + { + e << static_cast< const ::espi::Int16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UnitMultiplierKind_member& i) + { + a << static_cast< const ::espi::Int16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UnitMultiplierKind_member& i) + { + l << static_cast< const ::espi::Int16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UnitMultiplierKind_member.hxx b/oadrsd/oadrsd/2b/UnitMultiplierKind_member.hxx new file mode 100644 index 0000000..09513d2 --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitMultiplierKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UNIT_MULTIPLIER_KIND_MEMBER_HXX +#define UNIT_MULTIPLIER_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UnitMultiplierKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "Int16.hxx" + +namespace espi +{ + class UnitMultiplierKind_member: public ::espi::Int16 + { + public: + UnitMultiplierKind_member (::xml_schema::short_ v); + + UnitMultiplierKind_member (const ::espi::Int16& v); + + UnitMultiplierKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitMultiplierKind_member (const UnitMultiplierKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UnitMultiplierKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UnitMultiplierKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const UnitMultiplierKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const UnitMultiplierKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UNIT_MULTIPLIER_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/UnitSymbolKind.cxx b/oadrsd/oadrsd/2b/UnitSymbolKind.cxx new file mode 100644 index 0000000..f1521be --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitSymbolKind.cxx @@ -0,0 +1,179 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UnitSymbolKind.hxx" + +namespace espi +{ + // UnitSymbolKind + // + + UnitSymbolKind:: + UnitSymbolKind (const char* s) + : ::xml_schema::string (s) + { + } + + UnitSymbolKind:: + UnitSymbolKind (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + UnitSymbolKind:: + UnitSymbolKind (const UnitSymbolKind& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UnitSymbolKind + // + + UnitSymbolKind:: + UnitSymbolKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + UnitSymbolKind:: + UnitSymbolKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + UnitSymbolKind:: + UnitSymbolKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + UnitSymbolKind* UnitSymbolKind:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UnitSymbolKind (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UnitSymbolKind > + _xsd_UnitSymbolKind_type_factory_init ( + "UnitSymbolKind", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UnitSymbolKind& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UnitSymbolKind& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UnitSymbolKind& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UnitSymbolKind > + _xsd_UnitSymbolKind_type_serializer_init ( + "UnitSymbolKind", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UnitSymbolKind.hxx b/oadrsd/oadrsd/2b/UnitSymbolKind.hxx new file mode 100644 index 0000000..b288ea8 --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitSymbolKind.hxx @@ -0,0 +1,342 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UNIT_SYMBOL_KIND_HXX +#define UNIT_SYMBOL_KIND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UnitSymbolKind; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace espi +{ + class UnitSymbolKind: public ::xml_schema::string + { + public: + + UnitSymbolKind (const char* v); + + UnitSymbolKind (const ::std::string& v); + + UnitSymbolKind (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind (const UnitSymbolKind& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UnitSymbolKind* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UnitSymbolKind&); + + void + operator<< (::xercesc::DOMAttr&, const UnitSymbolKind&); + + void + operator<< (::xml_schema::list_stream&, + const UnitSymbolKind&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UNIT_SYMBOL_KIND_HXX diff --git a/oadrsd/oadrsd/2b/UnitSymbolKind_member.cxx b/oadrsd/oadrsd/2b/UnitSymbolKind_member.cxx new file mode 100644 index 0000000..592e130 --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitSymbolKind_member.cxx @@ -0,0 +1,166 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UnitSymbolKind_member.hxx" + +namespace espi +{ + // UnitSymbolKind_member + // + + UnitSymbolKind_member:: + UnitSymbolKind_member (::xml_schema::unsigned_short v): ::espi::UInt16 (v) + { + } + + UnitSymbolKind_member:: + UnitSymbolKind_member (const ::espi::UInt16& v) + : ::espi::UInt16 (v) + { + } + + UnitSymbolKind_member:: + UnitSymbolKind_member (const UnitSymbolKind_member& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (v, f, c) + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UnitSymbolKind_member + // + + UnitSymbolKind_member:: + UnitSymbolKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (e, f, c) + { + } + + UnitSymbolKind_member:: + UnitSymbolKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (a, f, c) + { + } + + UnitSymbolKind_member:: + UnitSymbolKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::UInt16 (s, e, f, c) + { + } + + UnitSymbolKind_member* UnitSymbolKind_member:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UnitSymbolKind_member (*this, f, c); + } +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UnitSymbolKind_member& i) + { + e << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const UnitSymbolKind_member& i) + { + a << static_cast< const ::espi::UInt16& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const UnitSymbolKind_member& i) + { + l << static_cast< const ::espi::UInt16& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UnitSymbolKind_member.hxx b/oadrsd/oadrsd/2b/UnitSymbolKind_member.hxx new file mode 100644 index 0000000..b86aae9 --- /dev/null +++ b/oadrsd/oadrsd/2b/UnitSymbolKind_member.hxx @@ -0,0 +1,343 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UNIT_SYMBOL_KIND_MEMBER_HXX +#define UNIT_SYMBOL_KIND_MEMBER_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UnitSymbolKind_member; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "UInt16.hxx" + +namespace espi +{ + class UnitSymbolKind_member: public ::espi::UInt16 + { + public: + UnitSymbolKind_member (::xml_schema::unsigned_short v); + + UnitSymbolKind_member (const ::espi::UInt16& v); + + UnitSymbolKind_member (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind_member (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind_member (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UnitSymbolKind_member (const UnitSymbolKind_member& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UnitSymbolKind_member* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UnitSymbolKind_member&); + + void + operator<< (::xercesc::DOMAttr&, const UnitSymbolKind_member&); + + void + operator<< (::xml_schema::list_stream&, + const UnitSymbolKind_member&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UNIT_SYMBOL_KIND_MEMBER_HXX diff --git a/oadrsd/oadrsd/2b/UsagePoint.cxx b/oadrsd/oadrsd/2b/UsagePoint.cxx new file mode 100644 index 0000000..c7d73d3 --- /dev/null +++ b/oadrsd/oadrsd/2b/UsagePoint.cxx @@ -0,0 +1,544 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "UsagePoint.hxx" + +#include "HexBinary16.hxx" + +#include "ServiceCategory.hxx" + +#include "UInt8.hxx" + +#include "ServiceDeliveryPoint.hxx" + +namespace espi +{ + // UsagePoint + // + + const UsagePoint::roleFlags_optional& UsagePoint:: + roleFlags () const + { + return this->roleFlags_; + } + + UsagePoint::roleFlags_optional& UsagePoint:: + roleFlags () + { + return this->roleFlags_; + } + + void UsagePoint:: + roleFlags (const roleFlags_type& x) + { + this->roleFlags_.set (x); + } + + void UsagePoint:: + roleFlags (const roleFlags_optional& x) + { + this->roleFlags_ = x; + } + + void UsagePoint:: + roleFlags (::std::auto_ptr< roleFlags_type > x) + { + this->roleFlags_.set (x); + } + + const UsagePoint::ServiceCategory_optional& UsagePoint:: + ServiceCategory () const + { + return this->ServiceCategory_; + } + + UsagePoint::ServiceCategory_optional& UsagePoint:: + ServiceCategory () + { + return this->ServiceCategory_; + } + + void UsagePoint:: + ServiceCategory (const ServiceCategory_type& x) + { + this->ServiceCategory_.set (x); + } + + void UsagePoint:: + ServiceCategory (const ServiceCategory_optional& x) + { + this->ServiceCategory_ = x; + } + + void UsagePoint:: + ServiceCategory (::std::auto_ptr< ServiceCategory_type > x) + { + this->ServiceCategory_.set (x); + } + + const UsagePoint::status_optional& UsagePoint:: + status () const + { + return this->status_; + } + + UsagePoint::status_optional& UsagePoint:: + status () + { + return this->status_; + } + + void UsagePoint:: + status (const status_type& x) + { + this->status_.set (x); + } + + void UsagePoint:: + status (const status_optional& x) + { + this->status_ = x; + } + + void UsagePoint:: + status (::std::auto_ptr< status_type > x) + { + this->status_.set (x); + } + + const UsagePoint::ServiceDeliveryPoint_optional& UsagePoint:: + ServiceDeliveryPoint () const + { + return this->ServiceDeliveryPoint_; + } + + UsagePoint::ServiceDeliveryPoint_optional& UsagePoint:: + ServiceDeliveryPoint () + { + return this->ServiceDeliveryPoint_; + } + + void UsagePoint:: + ServiceDeliveryPoint (const ServiceDeliveryPoint_type& x) + { + this->ServiceDeliveryPoint_.set (x); + } + + void UsagePoint:: + ServiceDeliveryPoint (const ServiceDeliveryPoint_optional& x) + { + this->ServiceDeliveryPoint_ = x; + } + + void UsagePoint:: + ServiceDeliveryPoint (::std::auto_ptr< ServiceDeliveryPoint_type > x) + { + this->ServiceDeliveryPoint_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ + // UsagePoint + // + + UsagePoint:: + UsagePoint () + : ::espi::IdentifiedObject (), + roleFlags_ (this), + ServiceCategory_ (this), + status_ (this), + ServiceDeliveryPoint_ (this) + { + } + + UsagePoint:: + UsagePoint (const UsagePoint& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (x, f, c), + roleFlags_ (x.roleFlags_, f, this), + ServiceCategory_ (x.ServiceCategory_, f, this), + status_ (x.status_, f, this), + ServiceDeliveryPoint_ (x.ServiceDeliveryPoint_, f, this) + { + } + + UsagePoint:: + UsagePoint (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::espi::IdentifiedObject (e, f | ::xml_schema::flags::base, c), + roleFlags_ (this), + ServiceCategory_ (this), + status_ (this), + ServiceDeliveryPoint_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void UsagePoint:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::espi::IdentifiedObject::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // roleFlags + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "roleFlags", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< roleFlags_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->roleFlags_) + { + ::std::auto_ptr< roleFlags_type > r ( + dynamic_cast< roleFlags_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->roleFlags_.set (r); + continue; + } + } + } + + // ServiceCategory + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ServiceCategory", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ServiceCategory_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ServiceCategory_) + { + ::std::auto_ptr< ServiceCategory_type > r ( + dynamic_cast< ServiceCategory_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ServiceCategory_.set (r); + continue; + } + } + } + + // status + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "status", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< status_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->status_) + { + ::std::auto_ptr< status_type > r ( + dynamic_cast< status_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->status_.set (r); + continue; + } + } + } + + // ServiceDeliveryPoint + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ServiceDeliveryPoint", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ServiceDeliveryPoint_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->ServiceDeliveryPoint_) + { + ::std::auto_ptr< ServiceDeliveryPoint_type > r ( + dynamic_cast< ServiceDeliveryPoint_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->ServiceDeliveryPoint_.set (r); + continue; + } + } + } + + break; + } + } + + UsagePoint* UsagePoint:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class UsagePoint (*this, f, c); + } + + UsagePoint& UsagePoint:: + operator= (const UsagePoint& x) + { + if (this != &x) + { + static_cast< ::espi::IdentifiedObject& > (*this) = x; + this->roleFlags_ = x.roleFlags_; + this->ServiceCategory_ = x.ServiceCategory_; + this->status_ = x.status_; + this->ServiceDeliveryPoint_ = x.ServiceDeliveryPoint_; + } + + return *this; + } + + UsagePoint:: + ~UsagePoint () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, UsagePoint > + _xsd_UsagePoint_type_factory_init ( + "UsagePoint", + "http://naesb.org/espi"); +} + +#include +#include +#include + +namespace espi +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + operator<< (::xercesc::DOMElement& e, const UsagePoint& i) + { + e << static_cast< const ::espi::IdentifiedObject& > (i); + + // roleFlags + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.roleFlags ()) + { + const UsagePoint::roleFlags_type& x (*i.roleFlags ()); + if (typeid (UsagePoint::roleFlags_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "roleFlags", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "roleFlags", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // ServiceCategory + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ServiceCategory ()) + { + const UsagePoint::ServiceCategory_type& x (*i.ServiceCategory ()); + if (typeid (UsagePoint::ServiceCategory_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ServiceCategory", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "ServiceCategory", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // status + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.status ()) + { + const UsagePoint::status_type& x (*i.status ()); + if (typeid (UsagePoint::status_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "status", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "status", + "http://naesb.org/espi", + false, true, e, x); + } + } + + // ServiceDeliveryPoint + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.ServiceDeliveryPoint ()) + { + const UsagePoint::ServiceDeliveryPoint_type& x (*i.ServiceDeliveryPoint ()); + if (typeid (UsagePoint::ServiceDeliveryPoint_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "ServiceDeliveryPoint", + "http://naesb.org/espi", + e)); + + s << x; + } + else + tsm.serialize ( + "ServiceDeliveryPoint", + "http://naesb.org/espi", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, UsagePoint > + _xsd_UsagePoint_type_serializer_init ( + "UsagePoint", + "http://naesb.org/espi"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/UsagePoint.hxx b/oadrsd/oadrsd/2b/UsagePoint.hxx new file mode 100644 index 0000000..96cd7f2 --- /dev/null +++ b/oadrsd/oadrsd/2b/UsagePoint.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef USAGE_POINT_HXX +#define USAGE_POINT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ + class UsagePoint; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "IdentifiedObject.hxx" + +namespace espi +{ + class HexBinary16; +} + +namespace espi +{ + class ServiceCategory; +} + +namespace espi +{ + class UInt8; +} + +namespace espi +{ + class ServiceDeliveryPoint; +} + +namespace espi +{ + class UsagePoint: public ::espi::IdentifiedObject + { + public: + // roleFlags + // + typedef ::espi::HexBinary16 roleFlags_type; + typedef ::xsd::cxx::tree::optional< roleFlags_type > roleFlags_optional; + typedef ::xsd::cxx::tree::traits< roleFlags_type, char > roleFlags_traits; + + const roleFlags_optional& + roleFlags () const; + + roleFlags_optional& + roleFlags (); + + void + roleFlags (const roleFlags_type& x); + + void + roleFlags (const roleFlags_optional& x); + + void + roleFlags (::std::auto_ptr< roleFlags_type > p); + + // ServiceCategory + // + typedef ::espi::ServiceCategory ServiceCategory_type; + typedef ::xsd::cxx::tree::optional< ServiceCategory_type > ServiceCategory_optional; + typedef ::xsd::cxx::tree::traits< ServiceCategory_type, char > ServiceCategory_traits; + + const ServiceCategory_optional& + ServiceCategory () const; + + ServiceCategory_optional& + ServiceCategory (); + + void + ServiceCategory (const ServiceCategory_type& x); + + void + ServiceCategory (const ServiceCategory_optional& x); + + void + ServiceCategory (::std::auto_ptr< ServiceCategory_type > p); + + // status + // + typedef ::espi::UInt8 status_type; + typedef ::xsd::cxx::tree::optional< status_type > status_optional; + typedef ::xsd::cxx::tree::traits< status_type, char > status_traits; + + const status_optional& + status () const; + + status_optional& + status (); + + void + status (const status_type& x); + + void + status (const status_optional& x); + + void + status (::std::auto_ptr< status_type > p); + + // ServiceDeliveryPoint + // + typedef ::espi::ServiceDeliveryPoint ServiceDeliveryPoint_type; + typedef ::xsd::cxx::tree::optional< ServiceDeliveryPoint_type > ServiceDeliveryPoint_optional; + typedef ::xsd::cxx::tree::traits< ServiceDeliveryPoint_type, char > ServiceDeliveryPoint_traits; + + const ServiceDeliveryPoint_optional& + ServiceDeliveryPoint () const; + + ServiceDeliveryPoint_optional& + ServiceDeliveryPoint (); + + void + ServiceDeliveryPoint (const ServiceDeliveryPoint_type& x); + + void + ServiceDeliveryPoint (const ServiceDeliveryPoint_optional& x); + + void + ServiceDeliveryPoint (::std::auto_ptr< ServiceDeliveryPoint_type > p); + + // Constructors. + // + UsagePoint (); + + UsagePoint (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + UsagePoint (const UsagePoint& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual UsagePoint* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + UsagePoint& + operator= (const UsagePoint& x); + + virtual + ~UsagePoint (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + roleFlags_optional roleFlags_; + ServiceCategory_optional ServiceCategory_; + status_optional status_; + ServiceDeliveryPoint_optional ServiceDeliveryPoint_; + }; +} + +#include + +#include +#include +#include + +namespace espi +{ +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + void + operator<< (::xercesc::DOMElement&, const UsagePoint&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // USAGE_POINT_HXX diff --git a/oadrsd/oadrsd/2b/VavailabilityType.cxx b/oadrsd/oadrsd/2b/VavailabilityType.cxx new file mode 100644 index 0000000..bb098c7 --- /dev/null +++ b/oadrsd/oadrsd/2b/VavailabilityType.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "VavailabilityType.hxx" + +#include "ArrayOfVavailabilityContainedComponents.hxx" + +namespace icalendar_2_0 +{ + // VavailabilityType + // + + const VavailabilityType::components_type& VavailabilityType:: + components () const + { + return this->components_.get (); + } + + VavailabilityType::components_type& VavailabilityType:: + components () + { + return this->components_.get (); + } + + void VavailabilityType:: + components (const components_type& x) + { + this->components_.set (x); + } + + void VavailabilityType:: + components (::std::auto_ptr< components_type > x) + { + this->components_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // VavailabilityType + // + + VavailabilityType:: + VavailabilityType (const components_type& components) + : ::xml_schema::type (), + components_ (components, this) + { + } + + VavailabilityType:: + VavailabilityType (::std::auto_ptr< components_type > components) + : ::xml_schema::type (), + components_ (components, this) + { + } + + VavailabilityType:: + VavailabilityType (const VavailabilityType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + components_ (x.components_, f, this) + { + } + + VavailabilityType:: + VavailabilityType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + components_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void VavailabilityType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // components + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< components_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!components_.present ()) + { + ::std::auto_ptr< components_type > r ( + dynamic_cast< components_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->components_.set (r); + continue; + } + } + } + + break; + } + + if (!components_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + VavailabilityType* VavailabilityType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class VavailabilityType (*this, f, c); + } + + VavailabilityType& VavailabilityType:: + operator= (const VavailabilityType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->components_ = x.components_; + } + + return *this; + } + + VavailabilityType:: + ~VavailabilityType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, VavailabilityType > + _xsd_VavailabilityType_type_factory_init ( + "VavailabilityType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const VavailabilityType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // components + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const VavailabilityType::components_type& x (i.components ()); + if (typeid (VavailabilityType::components_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + false, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, VavailabilityType > + _xsd_VavailabilityType_type_serializer_init ( + "VavailabilityType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/VavailabilityType.hxx b/oadrsd/oadrsd/2b/VavailabilityType.hxx new file mode 100644 index 0000000..8bdb22a --- /dev/null +++ b/oadrsd/oadrsd/2b/VavailabilityType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef VAVAILABILITY_TYPE_HXX +#define VAVAILABILITY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class VavailabilityType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class ArrayOfVavailabilityContainedComponents; +} + +namespace icalendar_2_0 +{ + class VavailabilityType: public ::xml_schema::type + { + public: + // components + // + typedef ::icalendar_2_0::ArrayOfVavailabilityContainedComponents components_type; + typedef ::xsd::cxx::tree::traits< components_type, char > components_traits; + + const components_type& + components () const; + + components_type& + components (); + + void + components (const components_type& x); + + void + components (::std::auto_ptr< components_type > p); + + // Constructors. + // + VavailabilityType (const components_type&); + + VavailabilityType (::std::auto_ptr< components_type >); + + VavailabilityType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + VavailabilityType (const VavailabilityType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual VavailabilityType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + VavailabilityType& + operator= (const VavailabilityType& x); + + virtual + ~VavailabilityType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< components_type > components_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const VavailabilityType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // VAVAILABILITY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/VoltageType.cxx b/oadrsd/oadrsd/2b/VoltageType.cxx new file mode 100644 index 0000000..0622535 --- /dev/null +++ b/oadrsd/oadrsd/2b/VoltageType.cxx @@ -0,0 +1,472 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "VoltageType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace power +{ + // VoltageType + // + + const VoltageType::itemDescription_type& VoltageType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + VoltageType::itemDescription_type& VoltageType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void VoltageType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void VoltageType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const VoltageType::itemDescription_type& VoltageType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const VoltageType::itemUnits_type& VoltageType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + VoltageType::itemUnits_type& VoltageType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void VoltageType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void VoltageType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const VoltageType::itemUnits_type& VoltageType:: + itemUnits_default_value () + { + return itemUnits_default_value_; + } + + const VoltageType::siScaleCode_type& VoltageType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + VoltageType::siScaleCode_type& VoltageType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void VoltageType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void VoltageType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + // VoltageType + // + + const VoltageType::itemDescription_type VoltageType::itemDescription_default_value_ ( + "Voltage"); + + const VoltageType::itemUnits_type VoltageType::itemUnits_default_value_ ( + "V"); + + VoltageType:: + VoltageType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + VoltageType:: + VoltageType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + VoltageType:: + VoltageType (const VoltageType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + VoltageType:: + VoltageType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void VoltageType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + VoltageType* VoltageType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class VoltageType (*this, f, c); + } + + VoltageType& VoltageType:: + operator= (const VoltageType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + VoltageType:: + ~VoltageType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, VoltageType > + _xsd_VoltageType_type_factory_init ( + "VoltageType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + operator<< (::xercesc::DOMElement& e, const VoltageType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const VoltageType::itemDescription_type& x (i.itemDescription ()); + if (typeid (VoltageType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const VoltageType::itemUnits_type& x (i.itemUnits ()); + if (typeid (VoltageType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const VoltageType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (VoltageType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, VoltageType > + _xsd_VoltageType_type_serializer_init ( + "VoltageType", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/VoltageType.hxx b/oadrsd/oadrsd/2b/VoltageType.hxx new file mode 100644 index 0000000..cb2e6c3 --- /dev/null +++ b/oadrsd/oadrsd/2b/VoltageType.hxx @@ -0,0 +1,415 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef VOLTAGE_TYPE_HXX +#define VOLTAGE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ + class VoltageType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace power +{ + class VoltageType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + static const itemUnits_type& + itemUnits_default_value (); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + VoltageType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + VoltageType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + VoltageType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + VoltageType (const VoltageType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual VoltageType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + VoltageType& + operator= (const VoltageType& x); + + virtual + ~VoltageType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + static const itemUnits_type itemUnits_default_value_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; +} + +#include + +#include +#include +#include + +namespace power +{ +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + void + operator<< (::xercesc::DOMElement&, const VoltageType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // VOLTAGE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/WsCalendarIntervalType.cxx b/oadrsd/oadrsd/2b/WsCalendarIntervalType.cxx new file mode 100644 index 0000000..2dd2bf4 --- /dev/null +++ b/oadrsd/oadrsd/2b/WsCalendarIntervalType.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "WsCalendarIntervalType.hxx" + +#include "properties.hxx" + +namespace icalendar_2_0 +{ + // WsCalendarIntervalType + // + + const WsCalendarIntervalType::properties_type& WsCalendarIntervalType:: + properties () const + { + return this->properties_.get (); + } + + WsCalendarIntervalType::properties_type& WsCalendarIntervalType:: + properties () + { + return this->properties_.get (); + } + + void WsCalendarIntervalType:: + properties (const properties_type& x) + { + this->properties_.set (x); + } + + void WsCalendarIntervalType:: + properties (::std::auto_ptr< properties_type > x) + { + this->properties_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // WsCalendarIntervalType + // + + WsCalendarIntervalType:: + WsCalendarIntervalType (const properties_type& properties) + : ::xml_schema::type (), + properties_ (properties, this) + { + } + + WsCalendarIntervalType:: + WsCalendarIntervalType (::std::auto_ptr< properties_type > properties) + : ::xml_schema::type (), + properties_ (properties, this) + { + } + + WsCalendarIntervalType:: + WsCalendarIntervalType (const WsCalendarIntervalType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + properties_ (x.properties_, f, this) + { + } + + WsCalendarIntervalType:: + WsCalendarIntervalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + properties_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void WsCalendarIntervalType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // properties + // + if (n.name () == "properties" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< properties_type > r ( + properties_traits::create (i, f, this)); + + if (!properties_.present ()) + { + this->properties_.set (r); + continue; + } + } + + break; + } + + if (!properties_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + WsCalendarIntervalType* WsCalendarIntervalType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class WsCalendarIntervalType (*this, f, c); + } + + WsCalendarIntervalType& WsCalendarIntervalType:: + operator= (const WsCalendarIntervalType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->properties_ = x.properties_; + } + + return *this; + } + + WsCalendarIntervalType:: + ~WsCalendarIntervalType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, WsCalendarIntervalType > + _xsd_WsCalendarIntervalType_type_factory_init ( + "WsCalendarIntervalType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const WsCalendarIntervalType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // properties + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.properties (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, WsCalendarIntervalType > + _xsd_WsCalendarIntervalType_type_serializer_init ( + "WsCalendarIntervalType", + "urn:ietf:params:xml:ns:icalendar-2.0"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/WsCalendarIntervalType.hxx b/oadrsd/oadrsd/2b/WsCalendarIntervalType.hxx new file mode 100644 index 0000000..13e9985 --- /dev/null +++ b/oadrsd/oadrsd/2b/WsCalendarIntervalType.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef WS_CALENDAR_INTERVAL_TYPE_HXX +#define WS_CALENDAR_INTERVAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class WsCalendarIntervalType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class properties; +} + +namespace icalendar_2_0 +{ + class WsCalendarIntervalType: public ::xml_schema::type + { + public: + // properties + // + typedef ::icalendar_2_0::properties properties_type; + typedef ::xsd::cxx::tree::traits< properties_type, char > properties_traits; + + const properties_type& + properties () const; + + properties_type& + properties (); + + void + properties (const properties_type& x); + + void + properties (::std::auto_ptr< properties_type > p); + + // Constructors. + // + WsCalendarIntervalType (const properties_type&); + + WsCalendarIntervalType (::std::auto_ptr< properties_type >); + + WsCalendarIntervalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + WsCalendarIntervalType (const WsCalendarIntervalType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual WsCalendarIntervalType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + WsCalendarIntervalType& + operator= (const WsCalendarIntervalType& x); + + virtual + ~WsCalendarIntervalType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< properties_type > properties_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const WsCalendarIntervalType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // WS_CALENDAR_INTERVAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/X509DataType.cxx b/oadrsd/oadrsd/2b/X509DataType.cxx new file mode 100644 index 0000000..b9c20db --- /dev/null +++ b/oadrsd/oadrsd/2b/X509DataType.cxx @@ -0,0 +1,567 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "X509DataType.hxx" + +#include "X509IssuerSerialType.hxx" + +namespace oadr2b +{ + namespace sig + { + // X509DataType + // + + const X509DataType::X509IssuerSerial_sequence& X509DataType:: + X509IssuerSerial () const + { + return this->X509IssuerSerial_; + } + + X509DataType::X509IssuerSerial_sequence& X509DataType:: + X509IssuerSerial () + { + return this->X509IssuerSerial_; + } + + void X509DataType:: + X509IssuerSerial (const X509IssuerSerial_sequence& s) + { + this->X509IssuerSerial_ = s; + } + + const X509DataType::X509SKI_sequence& X509DataType:: + X509SKI () const + { + return this->X509SKI_; + } + + X509DataType::X509SKI_sequence& X509DataType:: + X509SKI () + { + return this->X509SKI_; + } + + void X509DataType:: + X509SKI (const X509SKI_sequence& s) + { + this->X509SKI_ = s; + } + + const X509DataType::X509SubjectName_sequence& X509DataType:: + X509SubjectName () const + { + return this->X509SubjectName_; + } + + X509DataType::X509SubjectName_sequence& X509DataType:: + X509SubjectName () + { + return this->X509SubjectName_; + } + + void X509DataType:: + X509SubjectName (const X509SubjectName_sequence& s) + { + this->X509SubjectName_ = s; + } + + const X509DataType::X509Certificate_sequence& X509DataType:: + X509Certificate () const + { + return this->X509Certificate_; + } + + X509DataType::X509Certificate_sequence& X509DataType:: + X509Certificate () + { + return this->X509Certificate_; + } + + void X509DataType:: + X509Certificate (const X509Certificate_sequence& s) + { + this->X509Certificate_ = s; + } + + const X509DataType::X509CRL_sequence& X509DataType:: + X509CRL () const + { + return this->X509CRL_; + } + + X509DataType::X509CRL_sequence& X509DataType:: + X509CRL () + { + return this->X509CRL_; + } + + void X509DataType:: + X509CRL (const X509CRL_sequence& s) + { + this->X509CRL_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // X509DataType + // + + X509DataType:: + X509DataType () + : ::xml_schema::type (), + X509IssuerSerial_ (this), + X509SKI_ (this), + X509SubjectName_ (this), + X509Certificate_ (this), + X509CRL_ (this) + { + } + + X509DataType:: + X509DataType (const X509DataType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + X509IssuerSerial_ (x.X509IssuerSerial_, f, this), + X509SKI_ (x.X509SKI_, f, this), + X509SubjectName_ (x.X509SubjectName_, f, this), + X509Certificate_ (x.X509Certificate_, f, this), + X509CRL_ (x.X509CRL_, f, this) + { + } + + X509DataType:: + X509DataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + X509IssuerSerial_ (this), + X509SKI_ (this), + X509SubjectName_ (this), + X509Certificate_ (this), + X509CRL_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void X509DataType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // X509IssuerSerial + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509IssuerSerial", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509IssuerSerial_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509IssuerSerial_type > r ( + dynamic_cast< X509IssuerSerial_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509IssuerSerial_.push_back (r); + continue; + } + } + + // X509SKI + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509SKI", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509SKI_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509SKI_type > r ( + dynamic_cast< X509SKI_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509SKI_.push_back (r); + continue; + } + } + + // X509SubjectName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509SubjectName", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509SubjectName_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509SubjectName_type > r ( + dynamic_cast< X509SubjectName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509SubjectName_.push_back (r); + continue; + } + } + + // X509Certificate + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Certificate", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509Certificate_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509Certificate_type > r ( + dynamic_cast< X509Certificate_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509Certificate_.push_back (r); + continue; + } + } + + // X509CRL + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509CRL", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509CRL_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< X509CRL_type > r ( + dynamic_cast< X509CRL_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509CRL_.push_back (r); + continue; + } + } + + break; + } + } + + X509DataType* X509DataType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class X509DataType (*this, f, c); + } + + X509DataType& X509DataType:: + operator= (const X509DataType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->X509IssuerSerial_ = x.X509IssuerSerial_; + this->X509SKI_ = x.X509SKI_; + this->X509SubjectName_ = x.X509SubjectName_; + this->X509Certificate_ = x.X509Certificate_; + this->X509CRL_ = x.X509CRL_; + } + + return *this; + } + + X509DataType:: + ~X509DataType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, X509DataType > + _xsd_X509DataType_type_factory_init ( + "X509DataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const X509DataType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // X509IssuerSerial + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (X509DataType::X509IssuerSerial_const_iterator + b (i.X509IssuerSerial ().begin ()), n (i.X509IssuerSerial ().end ()); + b != n; ++b) + { + if (typeid (X509DataType::X509IssuerSerial_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509IssuerSerial", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509IssuerSerial", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + + // X509SKI + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (X509DataType::X509SKI_const_iterator + b (i.X509SKI ().begin ()), n (i.X509SKI ().end ()); + b != n; ++b) + { + if (typeid (X509DataType::X509SKI_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509SKI", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509SKI", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + + // X509SubjectName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (X509DataType::X509SubjectName_const_iterator + b (i.X509SubjectName ().begin ()), n (i.X509SubjectName ().end ()); + b != n; ++b) + { + if (typeid (X509DataType::X509SubjectName_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509SubjectName", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509SubjectName", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + + // X509Certificate + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (X509DataType::X509Certificate_const_iterator + b (i.X509Certificate ().begin ()), n (i.X509Certificate ().end ()); + b != n; ++b) + { + if (typeid (X509DataType::X509Certificate_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509Certificate", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509Certificate", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + + // X509CRL + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (X509DataType::X509CRL_const_iterator + b (i.X509CRL ().begin ()), n (i.X509CRL ().end ()); + b != n; ++b) + { + if (typeid (X509DataType::X509CRL_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509CRL", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << *b; + } + else + tsm.serialize ( + "X509CRL", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, X509DataType > + _xsd_X509DataType_type_serializer_init ( + "X509DataType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/X509DataType.hxx b/oadrsd/oadrsd/2b/X509DataType.hxx new file mode 100644 index 0000000..d7bc5ea --- /dev/null +++ b/oadrsd/oadrsd/2b/X509DataType.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef X509DATA_TYPE_HXX +#define X509DATA_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class X509DataType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class X509IssuerSerialType; + } +} + +namespace oadr2b +{ + namespace sig + { + class X509DataType: public ::xml_schema::type + { + public: + // X509IssuerSerial + // + typedef ::oadr2b::sig::X509IssuerSerialType X509IssuerSerial_type; + typedef ::xsd::cxx::tree::sequence< X509IssuerSerial_type > X509IssuerSerial_sequence; + typedef X509IssuerSerial_sequence::iterator X509IssuerSerial_iterator; + typedef X509IssuerSerial_sequence::const_iterator X509IssuerSerial_const_iterator; + typedef ::xsd::cxx::tree::traits< X509IssuerSerial_type, char > X509IssuerSerial_traits; + + const X509IssuerSerial_sequence& + X509IssuerSerial () const; + + X509IssuerSerial_sequence& + X509IssuerSerial (); + + void + X509IssuerSerial (const X509IssuerSerial_sequence& s); + + // X509SKI + // + typedef ::xml_schema::base64_binary X509SKI_type; + typedef ::xsd::cxx::tree::sequence< X509SKI_type > X509SKI_sequence; + typedef X509SKI_sequence::iterator X509SKI_iterator; + typedef X509SKI_sequence::const_iterator X509SKI_const_iterator; + typedef ::xsd::cxx::tree::traits< X509SKI_type, char > X509SKI_traits; + + const X509SKI_sequence& + X509SKI () const; + + X509SKI_sequence& + X509SKI (); + + void + X509SKI (const X509SKI_sequence& s); + + // X509SubjectName + // + typedef ::xml_schema::string X509SubjectName_type; + typedef ::xsd::cxx::tree::sequence< X509SubjectName_type > X509SubjectName_sequence; + typedef X509SubjectName_sequence::iterator X509SubjectName_iterator; + typedef X509SubjectName_sequence::const_iterator X509SubjectName_const_iterator; + typedef ::xsd::cxx::tree::traits< X509SubjectName_type, char > X509SubjectName_traits; + + const X509SubjectName_sequence& + X509SubjectName () const; + + X509SubjectName_sequence& + X509SubjectName (); + + void + X509SubjectName (const X509SubjectName_sequence& s); + + // X509Certificate + // + typedef ::xml_schema::base64_binary X509Certificate_type; + typedef ::xsd::cxx::tree::sequence< X509Certificate_type > X509Certificate_sequence; + typedef X509Certificate_sequence::iterator X509Certificate_iterator; + typedef X509Certificate_sequence::const_iterator X509Certificate_const_iterator; + typedef ::xsd::cxx::tree::traits< X509Certificate_type, char > X509Certificate_traits; + + const X509Certificate_sequence& + X509Certificate () const; + + X509Certificate_sequence& + X509Certificate (); + + void + X509Certificate (const X509Certificate_sequence& s); + + // X509CRL + // + typedef ::xml_schema::base64_binary X509CRL_type; + typedef ::xsd::cxx::tree::sequence< X509CRL_type > X509CRL_sequence; + typedef X509CRL_sequence::iterator X509CRL_iterator; + typedef X509CRL_sequence::const_iterator X509CRL_const_iterator; + typedef ::xsd::cxx::tree::traits< X509CRL_type, char > X509CRL_traits; + + const X509CRL_sequence& + X509CRL () const; + + X509CRL_sequence& + X509CRL (); + + void + X509CRL (const X509CRL_sequence& s); + + // Constructors. + // + X509DataType (); + + X509DataType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + X509DataType (const X509DataType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual X509DataType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + X509DataType& + operator= (const X509DataType& x); + + virtual + ~X509DataType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + X509IssuerSerial_sequence X509IssuerSerial_; + X509SKI_sequence X509SKI_; + X509SubjectName_sequence X509SubjectName_; + X509Certificate_sequence X509Certificate_; + X509CRL_sequence X509CRL_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const X509DataType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // X509DATA_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/X509DigestType.cxx b/oadrsd/oadrsd/2b/X509DigestType.cxx new file mode 100644 index 0000000..93d511c --- /dev/null +++ b/oadrsd/oadrsd/2b/X509DigestType.cxx @@ -0,0 +1,249 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "X509DigestType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + // X509DigestType + // + + const X509DigestType::Algorithm_type& X509DigestType:: + Algorithm () const + { + return this->Algorithm_.get (); + } + + X509DigestType::Algorithm_type& X509DigestType:: + Algorithm () + { + return this->Algorithm_.get (); + } + + void X509DigestType:: + Algorithm (const Algorithm_type& x) + { + this->Algorithm_.set (x); + } + + void X509DigestType:: + Algorithm (::std::auto_ptr< Algorithm_type > x) + { + this->Algorithm_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + // X509DigestType + // + + X509DigestType:: + X509DigestType (const Algorithm_type& Algorithm) + : ::xml_schema::base64_binary (), + Algorithm_ (Algorithm, this) + { + } + + X509DigestType:: + X509DigestType (const ::xml_schema::base64_binary& _xsd_base64_binary_base, + const Algorithm_type& Algorithm) + : ::xml_schema::base64_binary (_xsd_base64_binary_base), + Algorithm_ (Algorithm, this) + { + } + + X509DigestType:: + X509DigestType (const X509DigestType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (x, f, c), + Algorithm_ (x.Algorithm_, f, this) + { + } + + X509DigestType:: + X509DigestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::base64_binary (e, f | ::xml_schema::flags::base, c), + Algorithm_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void X509DigestType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Algorithm" && n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + this->Algorithm_.set (Algorithm_traits::create (i, f, this)); + continue; + } + } + + if (!Algorithm_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "Algorithm", + "http://www.w3.org/2009/xmldsig11#"); + } + } + + X509DigestType* X509DigestType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class X509DigestType (*this, f, c); + } + + X509DigestType& X509DigestType:: + operator= (const X509DigestType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::base64_binary& > (*this) = x; + this->Algorithm_ = x.Algorithm_; + } + + return *this; + } + + X509DigestType:: + ~X509DigestType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, X509DigestType > + _xsd_X509DigestType_type_factory_init ( + "X509DigestType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement& e, const X509DigestType& i) + { + e << static_cast< const ::xml_schema::base64_binary& > (i); + + // Algorithm + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Algorithm", + "http://www.w3.org/2009/xmldsig11#", + e)); + + a << i.Algorithm (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, X509DigestType > + _xsd_X509DigestType_type_serializer_init ( + "X509DigestType", + "http://www.w3.org/2009/xmldsig11#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/X509DigestType.hxx b/oadrsd/oadrsd/2b/X509DigestType.hxx new file mode 100644 index 0000000..de5f493 --- /dev/null +++ b/oadrsd/oadrsd/2b/X509DigestType.hxx @@ -0,0 +1,373 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef X509DIGEST_TYPE_HXX +#define X509DIGEST_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + class X509DigestType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + class X509DigestType: public ::xml_schema::base64_binary + { + public: + // Algorithm + // + typedef ::xml_schema::uri Algorithm_type; + typedef ::xsd::cxx::tree::traits< Algorithm_type, char > Algorithm_traits; + + const Algorithm_type& + Algorithm () const; + + Algorithm_type& + Algorithm (); + + void + Algorithm (const Algorithm_type& x); + + void + Algorithm (::std::auto_ptr< Algorithm_type > p); + + // Constructors. + // + X509DigestType (const Algorithm_type&); + + X509DigestType (const ::xml_schema::base64_binary&, + const Algorithm_type&); + + X509DigestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + X509DigestType (const X509DigestType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual X509DigestType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + X509DigestType& + operator= (const X509DigestType& x); + + virtual + ~X509DigestType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Algorithm_type > Algorithm_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + void + operator<< (::xercesc::DOMElement&, const X509DigestType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // X509DIGEST_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/X509IssuerSerialType.cxx b/oadrsd/oadrsd/2b/X509IssuerSerialType.cxx new file mode 100644 index 0000000..7fc7c76 --- /dev/null +++ b/oadrsd/oadrsd/2b/X509IssuerSerialType.cxx @@ -0,0 +1,339 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "X509IssuerSerialType.hxx" + +namespace oadr2b +{ + namespace sig + { + // X509IssuerSerialType + // + + const X509IssuerSerialType::X509IssuerName_type& X509IssuerSerialType:: + X509IssuerName () const + { + return this->X509IssuerName_.get (); + } + + X509IssuerSerialType::X509IssuerName_type& X509IssuerSerialType:: + X509IssuerName () + { + return this->X509IssuerName_.get (); + } + + void X509IssuerSerialType:: + X509IssuerName (const X509IssuerName_type& x) + { + this->X509IssuerName_.set (x); + } + + void X509IssuerSerialType:: + X509IssuerName (::std::auto_ptr< X509IssuerName_type > x) + { + this->X509IssuerName_.set (x); + } + + const X509IssuerSerialType::X509SerialNumber_type& X509IssuerSerialType:: + X509SerialNumber () const + { + return this->X509SerialNumber_.get (); + } + + X509IssuerSerialType::X509SerialNumber_type& X509IssuerSerialType:: + X509SerialNumber () + { + return this->X509SerialNumber_.get (); + } + + void X509IssuerSerialType:: + X509SerialNumber (const X509SerialNumber_type& x) + { + this->X509SerialNumber_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + // X509IssuerSerialType + // + + X509IssuerSerialType:: + X509IssuerSerialType (const X509IssuerName_type& X509IssuerName, + const X509SerialNumber_type& X509SerialNumber) + : ::xml_schema::type (), + X509IssuerName_ (X509IssuerName, this), + X509SerialNumber_ (X509SerialNumber, this) + { + } + + X509IssuerSerialType:: + X509IssuerSerialType (::std::auto_ptr< X509IssuerName_type > X509IssuerName, + const X509SerialNumber_type& X509SerialNumber) + : ::xml_schema::type (), + X509IssuerName_ (X509IssuerName, this), + X509SerialNumber_ (X509SerialNumber, this) + { + } + + X509IssuerSerialType:: + X509IssuerSerialType (const X509IssuerSerialType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + X509IssuerName_ (x.X509IssuerName_, f, this), + X509SerialNumber_ (x.X509SerialNumber_, f, this) + { + } + + X509IssuerSerialType:: + X509IssuerSerialType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + X509IssuerName_ (this), + X509SerialNumber_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void X509IssuerSerialType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // X509IssuerName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509IssuerName", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< X509IssuerName_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!X509IssuerName_.present ()) + { + ::std::auto_ptr< X509IssuerName_type > r ( + dynamic_cast< X509IssuerName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->X509IssuerName_.set (r); + continue; + } + } + } + + // X509SerialNumber + // + if (n.name () == "X509SerialNumber" && n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + if (!X509SerialNumber_.present ()) + { + this->X509SerialNumber_.set (X509SerialNumber_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!X509IssuerName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "X509IssuerName", + "http://www.w3.org/2000/09/xmldsig#"); + } + + if (!X509SerialNumber_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "X509SerialNumber", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + + X509IssuerSerialType* X509IssuerSerialType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class X509IssuerSerialType (*this, f, c); + } + + X509IssuerSerialType& X509IssuerSerialType:: + operator= (const X509IssuerSerialType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->X509IssuerName_ = x.X509IssuerName_; + this->X509SerialNumber_ = x.X509SerialNumber_; + } + + return *this; + } + + X509IssuerSerialType:: + ~X509IssuerSerialType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, X509IssuerSerialType > + _xsd_X509IssuerSerialType_type_factory_init ( + "X509IssuerSerialType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement& e, const X509IssuerSerialType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // X509IssuerName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const X509IssuerSerialType::X509IssuerName_type& x (i.X509IssuerName ()); + if (typeid (X509IssuerSerialType::X509IssuerName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509IssuerName", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "X509IssuerName", + "http://www.w3.org/2000/09/xmldsig#", + false, true, e, x); + } + + // X509SerialNumber + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "X509SerialNumber", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << i.X509SerialNumber (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, X509IssuerSerialType > + _xsd_X509IssuerSerialType_type_serializer_init ( + "X509IssuerSerialType", + "http://www.w3.org/2000/09/xmldsig#"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/X509IssuerSerialType.hxx b/oadrsd/oadrsd/2b/X509IssuerSerialType.hxx new file mode 100644 index 0000000..d20e6c9 --- /dev/null +++ b/oadrsd/oadrsd/2b/X509IssuerSerialType.hxx @@ -0,0 +1,389 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef X509ISSUER_SERIAL_TYPE_HXX +#define X509ISSUER_SERIAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + class X509IssuerSerialType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class X509IssuerSerialType: public ::xml_schema::type + { + public: + // X509IssuerName + // + typedef ::xml_schema::string X509IssuerName_type; + typedef ::xsd::cxx::tree::traits< X509IssuerName_type, char > X509IssuerName_traits; + + const X509IssuerName_type& + X509IssuerName () const; + + X509IssuerName_type& + X509IssuerName (); + + void + X509IssuerName (const X509IssuerName_type& x); + + void + X509IssuerName (::std::auto_ptr< X509IssuerName_type > p); + + // X509SerialNumber + // + typedef ::xml_schema::integer X509SerialNumber_type; + typedef ::xsd::cxx::tree::traits< X509SerialNumber_type, char > X509SerialNumber_traits; + + const X509SerialNumber_type& + X509SerialNumber () const; + + X509SerialNumber_type& + X509SerialNumber (); + + void + X509SerialNumber (const X509SerialNumber_type& x); + + // Constructors. + // + X509IssuerSerialType (const X509IssuerName_type&, + const X509SerialNumber_type&); + + X509IssuerSerialType (::std::auto_ptr< X509IssuerName_type >, + const X509SerialNumber_type&); + + X509IssuerSerialType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + X509IssuerSerialType (const X509IssuerSerialType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual X509IssuerSerialType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + X509IssuerSerialType& + operator= (const X509IssuerSerialType& x); + + virtual + ~X509IssuerSerialType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< X509IssuerName_type > X509IssuerName_; + ::xsd::cxx::tree::one< X509SerialNumber_type > X509SerialNumber_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + void + operator<< (::xercesc::DOMElement&, const X509IssuerSerialType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // X509ISSUER_SERIAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/categoryType.cxx b/oadrsd/oadrsd/2b/categoryType.cxx new file mode 100644 index 0000000..2c7dd6a --- /dev/null +++ b/oadrsd/oadrsd/2b/categoryType.cxx @@ -0,0 +1,438 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "categoryType.hxx" + +namespace Atom +{ + // categoryType + // + + const categoryType::term_type& categoryType:: + term () const + { + return this->term_.get (); + } + + categoryType::term_type& categoryType:: + term () + { + return this->term_.get (); + } + + void categoryType:: + term (const term_type& x) + { + this->term_.set (x); + } + + void categoryType:: + term (::std::auto_ptr< term_type > x) + { + this->term_.set (x); + } + + const categoryType::scheme_optional& categoryType:: + scheme () const + { + return this->scheme_; + } + + categoryType::scheme_optional& categoryType:: + scheme () + { + return this->scheme_; + } + + void categoryType:: + scheme (const scheme_type& x) + { + this->scheme_.set (x); + } + + void categoryType:: + scheme (const scheme_optional& x) + { + this->scheme_ = x; + } + + void categoryType:: + scheme (::std::auto_ptr< scheme_type > x) + { + this->scheme_.set (x); + } + + const categoryType::label_optional& categoryType:: + label () const + { + return this->label_; + } + + categoryType::label_optional& categoryType:: + label () + { + return this->label_; + } + + void categoryType:: + label (const label_type& x) + { + this->label_.set (x); + } + + void categoryType:: + label (const label_optional& x) + { + this->label_ = x; + } + + void categoryType:: + label (::std::auto_ptr< label_type > x) + { + this->label_.set (x); + } + + const categoryType::base_optional& categoryType:: + base () const + { + return this->base_; + } + + categoryType::base_optional& categoryType:: + base () + { + return this->base_; + } + + void categoryType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void categoryType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void categoryType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const categoryType::lang_optional& categoryType:: + lang () const + { + return this->lang_; + } + + categoryType::lang_optional& categoryType:: + lang () + { + return this->lang_; + } + + void categoryType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void categoryType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void categoryType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // categoryType + // + + categoryType:: + categoryType (const term_type& term) + : ::xml_schema::type (), + term_ (term, this), + scheme_ (this), + label_ (this), + base_ (this), + lang_ (this) + { + } + + categoryType:: + categoryType (const categoryType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + term_ (x.term_, f, this), + scheme_ (x.scheme_, f, this), + label_ (x.label_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + categoryType:: + categoryType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + term_ (this), + scheme_ (this), + label_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void categoryType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "term" && n.namespace_ ().empty ()) + { + this->term_.set (term_traits::create (i, f, this)); + continue; + } + + if (n.name () == "scheme" && n.namespace_ ().empty ()) + { + this->scheme_.set (scheme_traits::create (i, f, this)); + continue; + } + + if (n.name () == "label" && n.namespace_ ().empty ()) + { + this->label_.set (label_traits::create (i, f, this)); + continue; + } + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + + if (!term_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "term", + ""); + } + } + + categoryType* categoryType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class categoryType (*this, f, c); + } + + categoryType& categoryType:: + operator= (const categoryType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->term_ = x.term_; + this->scheme_ = x.scheme_; + this->label_ = x.label_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + categoryType:: + ~categoryType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, categoryType > + _xsd_categoryType_type_factory_init ( + "categoryType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const categoryType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // term + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "term", + e)); + + a << i.term (); + } + + // scheme + // + if (i.scheme ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "scheme", + e)); + + a << *i.scheme (); + } + + // label + // + if (i.label ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "label", + e)); + + a << *i.label (); + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, categoryType > + _xsd_categoryType_type_serializer_init ( + "categoryType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/categoryType.hxx b/oadrsd/oadrsd/2b/categoryType.hxx new file mode 100644 index 0000000..f4cb05a --- /dev/null +++ b/oadrsd/oadrsd/2b/categoryType.hxx @@ -0,0 +1,446 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CATEGORY_TYPE_HXX +#define CATEGORY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class categoryType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class categoryType: public ::xml_schema::type + { + public: + // term + // + typedef ::xml_schema::string term_type; + typedef ::xsd::cxx::tree::traits< term_type, char > term_traits; + + const term_type& + term () const; + + term_type& + term (); + + void + term (const term_type& x); + + void + term (::std::auto_ptr< term_type > p); + + // scheme + // + typedef ::xml_schema::uri scheme_type; + typedef ::xsd::cxx::tree::optional< scheme_type > scheme_optional; + typedef ::xsd::cxx::tree::traits< scheme_type, char > scheme_traits; + + const scheme_optional& + scheme () const; + + scheme_optional& + scheme (); + + void + scheme (const scheme_type& x); + + void + scheme (const scheme_optional& x); + + void + scheme (::std::auto_ptr< scheme_type > p); + + // label + // + typedef ::xml_schema::string label_type; + typedef ::xsd::cxx::tree::optional< label_type > label_optional; + typedef ::xsd::cxx::tree::traits< label_type, char > label_traits; + + const label_optional& + label () const; + + label_optional& + label (); + + void + label (const label_type& x); + + void + label (const label_optional& x); + + void + label (::std::auto_ptr< label_type > p); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + categoryType (const term_type&); + + categoryType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + categoryType (const categoryType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual categoryType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + categoryType& + operator= (const categoryType& x); + + virtual + ~categoryType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< term_type > term_; + scheme_optional scheme_; + label_optional label_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const categoryType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CATEGORY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/contentType.cxx b/oadrsd/oadrsd/2b/contentType.cxx new file mode 100644 index 0000000..1adaa2c --- /dev/null +++ b/oadrsd/oadrsd/2b/contentType.cxx @@ -0,0 +1,395 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "contentType.hxx" + +namespace Atom +{ + // contentType + // + + const contentType::type_optional& contentType:: + type () const + { + return this->type_; + } + + contentType::type_optional& contentType:: + type () + { + return this->type_; + } + + void contentType:: + type (const type_type& x) + { + this->type_.set (x); + } + + void contentType:: + type (const type_optional& x) + { + this->type_ = x; + } + + void contentType:: + type (::std::auto_ptr< type_type > x) + { + this->type_.set (x); + } + + const contentType::src_optional& contentType:: + src () const + { + return this->src_; + } + + contentType::src_optional& contentType:: + src () + { + return this->src_; + } + + void contentType:: + src (const src_type& x) + { + this->src_.set (x); + } + + void contentType:: + src (const src_optional& x) + { + this->src_ = x; + } + + void contentType:: + src (::std::auto_ptr< src_type > x) + { + this->src_.set (x); + } + + const contentType::base_optional& contentType:: + base () const + { + return this->base_; + } + + contentType::base_optional& contentType:: + base () + { + return this->base_; + } + + void contentType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void contentType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void contentType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const contentType::lang_optional& contentType:: + lang () const + { + return this->lang_; + } + + contentType::lang_optional& contentType:: + lang () + { + return this->lang_; + } + + void contentType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void contentType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void contentType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // contentType + // + + contentType:: + contentType () + : ::xml_schema::type (), + type_ (this), + src_ (this), + base_ (this), + lang_ (this) + { + } + + contentType:: + contentType (const contentType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + type_ (x.type_, f, this), + src_ (x.src_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + contentType:: + contentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + type_ (this), + src_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void contentType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "type" && n.namespace_ ().empty ()) + { + this->type_.set (type_traits::create (i, f, this)); + continue; + } + + if (n.name () == "src" && n.namespace_ ().empty ()) + { + this->src_.set (src_traits::create (i, f, this)); + continue; + } + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + contentType* contentType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class contentType (*this, f, c); + } + + contentType& contentType:: + operator= (const contentType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->type_ = x.type_; + this->src_ = x.src_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + contentType:: + ~contentType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, contentType > + _xsd_contentType_type_factory_init ( + "contentType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const contentType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // type + // + if (i.type ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "type", + e)); + + a << *i.type (); + } + + // src + // + if (i.src ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "src", + e)); + + a << *i.src (); + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, contentType > + _xsd_contentType_type_serializer_init ( + "contentType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/contentType.hxx b/oadrsd/oadrsd/2b/contentType.hxx new file mode 100644 index 0000000..0cc75f3 --- /dev/null +++ b/oadrsd/oadrsd/2b/contentType.hxx @@ -0,0 +1,428 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CONTENT_TYPE_HXX +#define CONTENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class contentType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class contentType: public ::xml_schema::type + { + public: + // type + // + typedef ::xml_schema::string type_type; + typedef ::xsd::cxx::tree::optional< type_type > type_optional; + typedef ::xsd::cxx::tree::traits< type_type, char > type_traits; + + const type_optional& + type () const; + + type_optional& + type (); + + void + type (const type_type& x); + + void + type (const type_optional& x); + + void + type (::std::auto_ptr< type_type > p); + + // src + // + typedef ::xml_schema::uri src_type; + typedef ::xsd::cxx::tree::optional< src_type > src_optional; + typedef ::xsd::cxx::tree::traits< src_type, char > src_traits; + + const src_optional& + src () const; + + src_optional& + src (); + + void + src (const src_type& x); + + void + src (const src_optional& x); + + void + src (::std::auto_ptr< src_type > p); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + contentType (); + + contentType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + contentType (const contentType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual contentType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + contentType& + operator= (const contentType& x); + + virtual + ~contentType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + type_optional type_; + src_optional src_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const contentType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CONTENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/currencyItemDescriptionType.cxx b/oadrsd/oadrsd/2b/currencyItemDescriptionType.cxx new file mode 100644 index 0000000..d6e905d --- /dev/null +++ b/oadrsd/oadrsd/2b/currencyItemDescriptionType.cxx @@ -0,0 +1,249 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "currencyItemDescriptionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // currencyItemDescriptionType + // + + currencyItemDescriptionType:: + currencyItemDescriptionType (value v) + : ::xml_schema::token (_xsd_currencyItemDescriptionType_literals_[v]) + { + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const char* v) + : ::xml_schema::token (v) + { + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const currencyItemDescriptionType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + currencyItemDescriptionType& currencyItemDescriptionType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_currencyItemDescriptionType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // currencyItemDescriptionType + // + + currencyItemDescriptionType:: + currencyItemDescriptionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_currencyItemDescriptionType_convert (); + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_currencyItemDescriptionType_convert (); + } + + currencyItemDescriptionType:: + currencyItemDescriptionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_currencyItemDescriptionType_convert (); + } + + currencyItemDescriptionType* currencyItemDescriptionType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class currencyItemDescriptionType (*this, f, c); + } + + currencyItemDescriptionType::value currencyItemDescriptionType:: + _xsd_currencyItemDescriptionType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_currencyItemDescriptionType_literals_); + const value* i (::std::lower_bound ( + _xsd_currencyItemDescriptionType_indexes_, + _xsd_currencyItemDescriptionType_indexes_ + 3, + *this, + c)); + + if (i == _xsd_currencyItemDescriptionType_indexes_ + 3 || _xsd_currencyItemDescriptionType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const currencyItemDescriptionType:: + _xsd_currencyItemDescriptionType_literals_[3] = + { + "currency", + "currencyPerKW", + "currencyPerKWh" + }; + + const currencyItemDescriptionType::value currencyItemDescriptionType:: + _xsd_currencyItemDescriptionType_indexes_[3] = + { + ::oadr2b::oadr::currencyItemDescriptionType::currency, + ::oadr2b::oadr::currencyItemDescriptionType::currencyPerKW, + ::oadr2b::oadr::currencyItemDescriptionType::currencyPerKWh + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, currencyItemDescriptionType > + _xsd_currencyItemDescriptionType_type_factory_init ( + "currencyItemDescriptionType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const currencyItemDescriptionType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const currencyItemDescriptionType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const currencyItemDescriptionType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, currencyItemDescriptionType > + _xsd_currencyItemDescriptionType_type_serializer_init ( + "currencyItemDescriptionType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/currencyItemDescriptionType.hxx b/oadrsd/oadrsd/2b/currencyItemDescriptionType.hxx new file mode 100644 index 0000000..dd00787 --- /dev/null +++ b/oadrsd/oadrsd/2b/currencyItemDescriptionType.hxx @@ -0,0 +1,381 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENCY_ITEM_DESCRIPTION_TYPE_HXX +#define CURRENCY_ITEM_DESCRIPTION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class currencyItemDescriptionType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class currencyItemDescriptionType: public ::xml_schema::token + { + public: + enum value + { + currency, + currencyPerKW, + currencyPerKWh + }; + + currencyItemDescriptionType (value v); + + currencyItemDescriptionType (const char* v); + + currencyItemDescriptionType (const ::std::string& v); + + currencyItemDescriptionType (const ::xml_schema::token& v); + + currencyItemDescriptionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + currencyItemDescriptionType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + currencyItemDescriptionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + currencyItemDescriptionType (const currencyItemDescriptionType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual currencyItemDescriptionType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + currencyItemDescriptionType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_currencyItemDescriptionType_convert (); + } + + protected: + value + _xsd_currencyItemDescriptionType_convert () const; + + public: + static const char* const _xsd_currencyItemDescriptionType_literals_[3]; + static const value _xsd_currencyItemDescriptionType_indexes_[3]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const currencyItemDescriptionType&); + + void + operator<< (::xercesc::DOMAttr&, const currencyItemDescriptionType&); + + void + operator<< (::xml_schema::list_stream&, + const currencyItemDescriptionType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENCY_ITEM_DESCRIPTION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/currencyType.cxx b/oadrsd/oadrsd/2b/currencyType.cxx new file mode 100644 index 0000000..504be34 --- /dev/null +++ b/oadrsd/oadrsd/2b/currencyType.cxx @@ -0,0 +1,470 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "currencyType.hxx" + +#include "currencyItemDescriptionType.hxx" + +#include "ISO3AlphaCurrencyCodeContentType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // currencyType + // + + const currencyType::itemDescription_type& currencyType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + currencyType::itemDescription_type& currencyType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void currencyType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void currencyType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const currencyType::itemUnits_type& currencyType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + currencyType::itemUnits_type& currencyType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void currencyType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void currencyType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const currencyType::siScaleCode_type& currencyType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + currencyType::siScaleCode_type& currencyType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void currencyType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void currencyType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // currencyType + // + + currencyType:: + currencyType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + currencyType:: + currencyType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + currencyType:: + currencyType (const currencyType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + currencyType:: + currencyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void currencyType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + currencyType* currencyType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class currencyType (*this, f, c); + } + + currencyType& currencyType:: + operator= (const currencyType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + currencyType:: + ~currencyType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, currencyType > + _xsd_currencyType_type_factory_init ( + "currencyType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const currencyType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const currencyType::itemDescription_type& x (i.itemDescription ()); + if (typeid (currencyType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const currencyType::itemUnits_type& x (i.itemUnits ()); + if (typeid (currencyType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const currencyType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (currencyType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, currencyType > + _xsd_currencyType_type_serializer_init ( + "currencyType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/currencyType.hxx b/oadrsd/oadrsd/2b/currencyType.hxx new file mode 100644 index 0000000..d0121e4 --- /dev/null +++ b/oadrsd/oadrsd/2b/currencyType.hxx @@ -0,0 +1,432 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENCY_TYPE_HXX +#define CURRENCY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class currencyType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class currencyItemDescriptionType; + } +} + +namespace ISO42173A_2010_04_07 +{ + class ISO3AlphaCurrencyCodeContentType; +} + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class currencyType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::oadr2b::oadr::currencyItemDescriptionType itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + // itemUnits + // + typedef ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + currencyType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + currencyType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + currencyType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + currencyType (const currencyType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual currencyType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + currencyType& + operator= (const currencyType& x); + + virtual + ~currencyType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const currencyType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENCY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/currentValueType.cxx b/oadrsd/oadrsd/2b/currentValueType.cxx new file mode 100644 index 0000000..0dd361e --- /dev/null +++ b/oadrsd/oadrsd/2b/currentValueType.cxx @@ -0,0 +1,286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "currentValueType.hxx" + +#include "PayloadFloatType.hxx" + +namespace oadr2b +{ + namespace ei + { + // currentValueType + // + + const currentValueType::payloadFloat_type& currentValueType:: + payloadFloat () const + { + return this->payloadFloat_.get (); + } + + currentValueType::payloadFloat_type& currentValueType:: + payloadFloat () + { + return this->payloadFloat_.get (); + } + + void currentValueType:: + payloadFloat (const payloadFloat_type& x) + { + this->payloadFloat_.set (x); + } + + void currentValueType:: + payloadFloat (::std::auto_ptr< payloadFloat_type > x) + { + this->payloadFloat_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // currentValueType + // + + currentValueType:: + currentValueType (const payloadFloat_type& payloadFloat) + : ::xml_schema::type (), + payloadFloat_ (payloadFloat, this) + { + } + + currentValueType:: + currentValueType (::std::auto_ptr< payloadFloat_type > payloadFloat) + : ::xml_schema::type (), + payloadFloat_ (payloadFloat, this) + { + } + + currentValueType:: + currentValueType (const currentValueType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + payloadFloat_ (x.payloadFloat_, f, this) + { + } + + currentValueType:: + currentValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + payloadFloat_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void currentValueType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // payloadFloat + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< payloadFloat_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!payloadFloat_.present ()) + { + ::std::auto_ptr< payloadFloat_type > r ( + dynamic_cast< payloadFloat_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->payloadFloat_.set (r); + continue; + } + } + } + + break; + } + + if (!payloadFloat_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + currentValueType* currentValueType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class currentValueType (*this, f, c); + } + + currentValueType& currentValueType:: + operator= (const currentValueType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->payloadFloat_ = x.payloadFloat_; + } + + return *this; + } + + currentValueType:: + ~currentValueType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, currentValueType > + _xsd_currentValueType_type_factory_init ( + "currentValueType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const currentValueType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // payloadFloat + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const currentValueType::payloadFloat_type& x (i.payloadFloat ()); + if (typeid (currentValueType::payloadFloat_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, currentValueType > + _xsd_currentValueType_type_serializer_init ( + "currentValueType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/currentValueType.hxx b/oadrsd/oadrsd/2b/currentValueType.hxx new file mode 100644 index 0000000..a987c2e --- /dev/null +++ b/oadrsd/oadrsd/2b/currentValueType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef CURRENT_VALUE_TYPE_HXX +#define CURRENT_VALUE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class currentValueType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class PayloadFloatType; + } +} + +namespace oadr2b +{ + namespace ei + { + class currentValueType: public ::xml_schema::type + { + public: + // payloadFloat + // + typedef ::oadr2b::ei::PayloadFloatType payloadFloat_type; + typedef ::xsd::cxx::tree::traits< payloadFloat_type, char > payloadFloat_traits; + + const payloadFloat_type& + payloadFloat () const; + + payloadFloat_type& + payloadFloat (); + + void + payloadFloat (const payloadFloat_type& x); + + void + payloadFloat (::std::auto_ptr< payloadFloat_type > p); + + // Constructors. + // + currentValueType (const payloadFloat_type&); + + currentValueType (::std::auto_ptr< payloadFloat_type >); + + currentValueType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + currentValueType (const currentValueType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual currentValueType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + currentValueType& + operator= (const currentValueType& x); + + virtual + ~currentValueType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< payloadFloat_type > payloadFloat_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const currentValueType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // CURRENT_VALUE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/dateTimeType1.cxx b/oadrsd/oadrsd/2b/dateTimeType1.cxx new file mode 100644 index 0000000..4c7905d --- /dev/null +++ b/oadrsd/oadrsd/2b/dateTimeType1.cxx @@ -0,0 +1,282 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "dateTimeType1.hxx" + +namespace Atom +{ + // dateTimeType + // + + const dateTimeType::base_optional& dateTimeType:: + base () const + { + return this->base_; + } + + dateTimeType::base_optional& dateTimeType:: + base () + { + return this->base_; + } + + void dateTimeType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void dateTimeType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void dateTimeType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const dateTimeType::lang_optional& dateTimeType:: + lang () const + { + return this->lang_; + } + + dateTimeType::lang_optional& dateTimeType:: + lang () + { + return this->lang_; + } + + void dateTimeType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void dateTimeType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void dateTimeType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // dateTimeType + // + + dateTimeType:: + dateTimeType (const ::xml_schema::date_time& _xsd_date_time_base) + : ::xml_schema::date_time (_xsd_date_time_base), + base_ (this), + lang_ (this) + { + } + + dateTimeType:: + dateTimeType (const dateTimeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (x, f, c), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + dateTimeType:: + dateTimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::date_time (e, f | ::xml_schema::flags::base, c), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void dateTimeType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + dateTimeType* dateTimeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class dateTimeType (*this, f, c); + } + + dateTimeType& dateTimeType:: + operator= (const dateTimeType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::date_time& > (*this) = x; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + dateTimeType:: + ~dateTimeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, dateTimeType > + _xsd_dateTimeType_type_factory_init ( + "dateTimeType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const dateTimeType& i) + { + e << static_cast< const ::xml_schema::date_time& > (i); + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, dateTimeType > + _xsd_dateTimeType_type_serializer_init ( + "dateTimeType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/dateTimeType1.hxx b/oadrsd/oadrsd/2b/dateTimeType1.hxx new file mode 100644 index 0000000..d731d89 --- /dev/null +++ b/oadrsd/oadrsd/2b/dateTimeType1.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DATE_TIME_TYPE1_HXX +#define DATE_TIME_TYPE1_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class dateTimeType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class dateTimeType: public ::xml_schema::date_time + { + public: + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + dateTimeType (const ::xml_schema::date_time&); + + dateTimeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + dateTimeType (const dateTimeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual dateTimeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + dateTimeType& + operator= (const dateTimeType& x); + + virtual + ~dateTimeType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const dateTimeType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DATE_TIME_TYPE1_HXX diff --git a/oadrsd/oadrsd/2b/doubleList.cxx b/oadrsd/oadrsd/2b/doubleList.cxx new file mode 100644 index 0000000..81f4b3f --- /dev/null +++ b/oadrsd/oadrsd/2b/doubleList.cxx @@ -0,0 +1,200 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "doubleList.hxx" + +namespace oadr2b +{ + namespace gml + { + // doubleList + // + + doubleList:: + doubleList () + : ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (this) + { + } + + doubleList:: + doubleList (size_type n, const ::xml_schema::double_& x) + : ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (n, x, this) + { + } + + doubleList:: + doubleList (const doubleList& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::simple_type (o, f, c), + ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (o, f, this) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // doubleList + // + + doubleList:: + doubleList (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::simple_type (e, f, c), + ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (e, f, this) + { + } + + doubleList:: + doubleList (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::simple_type (a, f, c), + ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (a, f, this) + { + } + + doubleList:: + doubleList (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::simple_type (s, e, f, c), + ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (s, e, f, this) + { + } + + doubleList* doubleList:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class doubleList (*this, f, c); + } + + doubleList:: + ~doubleList () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, doubleList > + _xsd_doubleList_type_factory_init ( + "doubleList", + "http://www.opengis.net/gml/3.2"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const doubleList& i) + { + e << static_cast< const ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ >& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const doubleList& i) + { + a << static_cast< const ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ >& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const doubleList& i) + { + l << static_cast< const ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ >& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, doubleList > + _xsd_doubleList_type_serializer_init ( + "doubleList", + "http://www.opengis.net/gml/3.2"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/doubleList.hxx b/oadrsd/oadrsd/2b/doubleList.hxx new file mode 100644 index 0000000..046c06b --- /dev/null +++ b/oadrsd/oadrsd/2b/doubleList.hxx @@ -0,0 +1,363 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DOUBLE_LIST_HXX +#define DOUBLE_LIST_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class doubleList; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class doubleList: public ::xml_schema::simple_type, + public ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > + { + public: + doubleList (); + + doubleList (size_type n, const ::xml_schema::double_& x); + + template < typename I > + doubleList (const I& begin, const I& end) + : ::xsd::cxx::tree::list< ::xml_schema::double_, char, ::xsd::cxx::tree::schema_type::double_ > (begin, end, this) + { + } + + doubleList (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + doubleList (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + doubleList (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + doubleList (const doubleList& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual doubleList* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~doubleList (); + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const doubleList&); + + void + operator<< (::xercesc::DOMAttr&, const doubleList&); + + void + operator<< (::xml_schema::list_stream&, + const doubleList&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DOUBLE_LIST_HXX diff --git a/oadrsd/oadrsd/2b/dtend.cxx b/oadrsd/oadrsd/2b/dtend.cxx new file mode 100644 index 0000000..1ce5e76 --- /dev/null +++ b/oadrsd/oadrsd/2b/dtend.cxx @@ -0,0 +1,262 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "dtend.hxx" + +#include "DateTimeType.hxx" + +namespace icalendar_2_0 +{ + // dtend + // + + const dtend::date_time_type& dtend:: + date_time () const + { + return this->date_time_.get (); + } + + dtend::date_time_type& dtend:: + date_time () + { + return this->date_time_.get (); + } + + void dtend:: + date_time (const date_time_type& x) + { + this->date_time_.set (x); + } + + void dtend:: + date_time (::std::auto_ptr< date_time_type > x) + { + this->date_time_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // dtend + // + + dtend:: + dtend (const date_time_type& date_time) + : ::xml_schema::type (), + date_time_ (date_time, this) + { + } + + dtend:: + dtend (::std::auto_ptr< date_time_type > date_time) + : ::xml_schema::type (), + date_time_ (date_time, this) + { + } + + dtend:: + dtend (const dtend& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + date_time_ (x.date_time_, f, this) + { + } + + dtend:: + dtend (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + date_time_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void dtend:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // date-time + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< date_time_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!date_time_.present ()) + { + ::std::auto_ptr< date_time_type > r ( + dynamic_cast< date_time_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->date_time_.set (r); + continue; + } + } + } + + break; + } + + if (!date_time_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + dtend* dtend:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class dtend (*this, f, c); + } + + dtend& dtend:: + operator= (const dtend& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->date_time_ = x.date_time_; + } + + return *this; + } + + dtend:: + ~dtend () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const dtend& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // date-time + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const dtend::date_time_type& x (i.date_time ()); + if (typeid (dtend::date_time_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/dtend.hxx b/oadrsd/oadrsd/2b/dtend.hxx new file mode 100644 index 0000000..33d972b --- /dev/null +++ b/oadrsd/oadrsd/2b/dtend.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DTEND_HXX +#define DTEND_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class dtend; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DateTimeType; +} + +namespace icalendar_2_0 +{ + class dtend: public ::xml_schema::type + { + public: + // date-time + // + typedef ::icalendar_2_0::DateTimeType date_time_type; + typedef ::xsd::cxx::tree::traits< date_time_type, char > date_time_traits; + + const date_time_type& + date_time () const; + + date_time_type& + date_time (); + + void + date_time (const date_time_type& x); + + void + date_time (::std::auto_ptr< date_time_type > p); + + // Constructors. + // + dtend (const date_time_type&); + + dtend (::std::auto_ptr< date_time_type >); + + dtend (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + dtend (const dtend& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual dtend* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + dtend& + operator= (const dtend& x); + + virtual + ~dtend (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< date_time_type > date_time_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const dtend&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DTEND_HXX diff --git a/oadrsd/oadrsd/2b/dtstart.cxx b/oadrsd/oadrsd/2b/dtstart.cxx new file mode 100644 index 0000000..27aa8c5 --- /dev/null +++ b/oadrsd/oadrsd/2b/dtstart.cxx @@ -0,0 +1,262 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "dtstart.hxx" + +#include "DateTimeType.hxx" + +namespace icalendar_2_0 +{ + // dtstart + // + + const dtstart::date_time_type& dtstart:: + date_time () const + { + return this->date_time_.get (); + } + + dtstart::date_time_type& dtstart:: + date_time () + { + return this->date_time_.get (); + } + + void dtstart:: + date_time (const date_time_type& x) + { + this->date_time_.set (x); + } + + void dtstart:: + date_time (::std::auto_ptr< date_time_type > x) + { + this->date_time_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // dtstart + // + + dtstart:: + dtstart (const date_time_type& date_time) + : ::xml_schema::type (), + date_time_ (date_time, this) + { + } + + dtstart:: + dtstart (::std::auto_ptr< date_time_type > date_time) + : ::xml_schema::type (), + date_time_ (date_time, this) + { + } + + dtstart:: + dtstart (const dtstart& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + date_time_ (x.date_time_, f, this) + { + } + + dtstart:: + dtstart (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + date_time_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void dtstart:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // date-time + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< date_time_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!date_time_.present ()) + { + ::std::auto_ptr< date_time_type > r ( + dynamic_cast< date_time_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->date_time_.set (r); + continue; + } + } + } + + break; + } + + if (!date_time_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + dtstart* dtstart:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class dtstart (*this, f, c); + } + + dtstart& dtstart:: + operator= (const dtstart& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->date_time_ = x.date_time_; + } + + return *this; + } + + dtstart:: + ~dtstart () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const dtstart& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // date-time + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const dtstart::date_time_type& x (i.date_time ()); + if (typeid (dtstart::date_time_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/dtstart.hxx b/oadrsd/oadrsd/2b/dtstart.hxx new file mode 100644 index 0000000..0598748 --- /dev/null +++ b/oadrsd/oadrsd/2b/dtstart.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef DTSTART_HXX +#define DTSTART_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class dtstart; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DateTimeType; +} + +namespace icalendar_2_0 +{ + class dtstart: public ::xml_schema::type + { + public: + // date-time + // + typedef ::icalendar_2_0::DateTimeType date_time_type; + typedef ::xsd::cxx::tree::traits< date_time_type, char > date_time_traits; + + const date_time_type& + date_time () const; + + date_time_type& + date_time (); + + void + date_time (const date_time_type& x); + + void + date_time (::std::auto_ptr< date_time_type > p); + + // Constructors. + // + dtstart (const date_time_type&); + + dtstart (::std::auto_ptr< date_time_type >); + + dtstart (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + dtstart (const dtstart& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual dtstart* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + dtstart& + operator= (const dtstart& x); + + virtual + ~dtstart (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< date_time_type > date_time_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const dtstart&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // DTSTART_HXX diff --git a/oadrsd/oadrsd/2b/eiActivePeriodType.cxx b/oadrsd/oadrsd/2b/eiActivePeriodType.cxx new file mode 100644 index 0000000..15d97ca --- /dev/null +++ b/oadrsd/oadrsd/2b/eiActivePeriodType.cxx @@ -0,0 +1,359 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiActivePeriodType.hxx" + +#include "properties.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiActivePeriodType + // + + const eiActivePeriodType::properties_type& eiActivePeriodType:: + properties () const + { + return this->properties_.get (); + } + + eiActivePeriodType::properties_type& eiActivePeriodType:: + properties () + { + return this->properties_.get (); + } + + void eiActivePeriodType:: + properties (const properties_type& x) + { + this->properties_.set (x); + } + + void eiActivePeriodType:: + properties (::std::auto_ptr< properties_type > x) + { + this->properties_.set (x); + } + + const eiActivePeriodType::components_type& eiActivePeriodType:: + components () const + { + return this->components_.get (); + } + + eiActivePeriodType::components_type& eiActivePeriodType:: + components () + { + return this->components_.get (); + } + + void eiActivePeriodType:: + components (const components_type& x) + { + this->components_.set (x); + } + + void eiActivePeriodType:: + components (::std::auto_ptr< components_type > x) + { + this->components_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiActivePeriodType + // + + eiActivePeriodType:: + eiActivePeriodType (const properties_type& properties, + const components_type& components) + : ::xml_schema::type (), + properties_ (properties, this), + components_ (components, this) + { + } + + eiActivePeriodType:: + eiActivePeriodType (::std::auto_ptr< properties_type > properties, + const components_type& components) + : ::xml_schema::type (), + properties_ (properties, this), + components_ (components, this) + { + } + + eiActivePeriodType:: + eiActivePeriodType (::std::auto_ptr< properties_type > properties, + ::std::auto_ptr< components_type > components) + : ::xml_schema::type (), + properties_ (properties, this), + components_ (components, this) + { + } + + eiActivePeriodType:: + eiActivePeriodType (const eiActivePeriodType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + properties_ (x.properties_, f, this), + components_ (x.components_, f, this) + { + } + + eiActivePeriodType:: + eiActivePeriodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + properties_ (this), + components_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiActivePeriodType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // properties + // + if (n.name () == "properties" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< properties_type > r ( + properties_traits::create (i, f, this)); + + if (!properties_.present ()) + { + this->properties_.set (r); + continue; + } + } + + // components + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< components_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!components_.present ()) + { + ::std::auto_ptr< components_type > r ( + dynamic_cast< components_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->components_.set (r); + continue; + } + } + } + + break; + } + + if (!properties_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + if (!components_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + eiActivePeriodType* eiActivePeriodType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiActivePeriodType (*this, f, c); + } + + eiActivePeriodType& eiActivePeriodType:: + operator= (const eiActivePeriodType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->properties_ = x.properties_; + this->components_ = x.components_; + } + + return *this; + } + + eiActivePeriodType:: + ~eiActivePeriodType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eiActivePeriodType > + _xsd_eiActivePeriodType_type_factory_init ( + "eiActivePeriodType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiActivePeriodType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // properties + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.properties (); + } + + // components + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiActivePeriodType::components_type& x (i.components ()); + if (typeid (eiActivePeriodType::components_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eiActivePeriodType > + _xsd_eiActivePeriodType_type_serializer_init ( + "eiActivePeriodType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiActivePeriodType.hxx b/oadrsd/oadrsd/2b/eiActivePeriodType.hxx new file mode 100644 index 0000000..9fb8935 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiActivePeriodType.hxx @@ -0,0 +1,400 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_ACTIVE_PERIOD_TYPE_HXX +#define EI_ACTIVE_PERIOD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiActivePeriodType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class properties; +} + +namespace oadr2b +{ + namespace ei + { + class eiActivePeriodType: public ::xml_schema::type + { + public: + // properties + // + typedef ::icalendar_2_0::properties properties_type; + typedef ::xsd::cxx::tree::traits< properties_type, char > properties_traits; + + const properties_type& + properties () const; + + properties_type& + properties (); + + void + properties (const properties_type& x); + + void + properties (::std::auto_ptr< properties_type > p); + + // components + // + typedef ::xml_schema::type components_type; + typedef ::xsd::cxx::tree::traits< components_type, char > components_traits; + + const components_type& + components () const; + + components_type& + components (); + + void + components (const components_type& x); + + void + components (::std::auto_ptr< components_type > p); + + // Constructors. + // + eiActivePeriodType (const properties_type&, + const components_type&); + + eiActivePeriodType (::std::auto_ptr< properties_type >, + const components_type&); + + eiActivePeriodType (::std::auto_ptr< properties_type >, + ::std::auto_ptr< components_type >); + + eiActivePeriodType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiActivePeriodType (const eiActivePeriodType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiActivePeriodType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiActivePeriodType& + operator= (const eiActivePeriodType& x); + + virtual + ~eiActivePeriodType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< properties_type > properties_; + ::xsd::cxx::tree::one< components_type > components_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiActivePeriodType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_ACTIVE_PERIOD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eiCreatedEvent.cxx b/oadrsd/oadrsd/2b/eiCreatedEvent.cxx new file mode 100644 index 0000000..bc7b898 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiCreatedEvent.cxx @@ -0,0 +1,426 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiCreatedEvent.hxx" + +#include "EiResponseType.hxx" + +#include "eventResponses.hxx" + +namespace payloads +{ + // eiCreatedEvent + // + + const eiCreatedEvent::eiResponse_type& eiCreatedEvent:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + eiCreatedEvent::eiResponse_type& eiCreatedEvent:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void eiCreatedEvent:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void eiCreatedEvent:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const eiCreatedEvent::eventResponses_optional& eiCreatedEvent:: + eventResponses () const + { + return this->eventResponses_; + } + + eiCreatedEvent::eventResponses_optional& eiCreatedEvent:: + eventResponses () + { + return this->eventResponses_; + } + + void eiCreatedEvent:: + eventResponses (const eventResponses_type& x) + { + this->eventResponses_.set (x); + } + + void eiCreatedEvent:: + eventResponses (const eventResponses_optional& x) + { + this->eventResponses_ = x; + } + + void eiCreatedEvent:: + eventResponses (::std::auto_ptr< eventResponses_type > x) + { + this->eventResponses_.set (x); + } + + const eiCreatedEvent::venID_type& eiCreatedEvent:: + venID () const + { + return this->venID_.get (); + } + + eiCreatedEvent::venID_type& eiCreatedEvent:: + venID () + { + return this->venID_.get (); + } + + void eiCreatedEvent:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void eiCreatedEvent:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace payloads +{ + // eiCreatedEvent + // + + eiCreatedEvent:: + eiCreatedEvent (const eiResponse_type& eiResponse, + const venID_type& venID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + eventResponses_ (this), + venID_ (venID, this) + { + } + + eiCreatedEvent:: + eiCreatedEvent (::std::auto_ptr< eiResponse_type > eiResponse, + const venID_type& venID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + eventResponses_ (this), + venID_ (venID, this) + { + } + + eiCreatedEvent:: + eiCreatedEvent (::std::auto_ptr< eiResponse_type > eiResponse, + ::std::auto_ptr< venID_type > venID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + eventResponses_ (this), + venID_ (venID, this) + { + } + + eiCreatedEvent:: + eiCreatedEvent (const eiCreatedEvent& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + eventResponses_ (x.eventResponses_, f, this), + venID_ (x.venID_, f, this) + { + } + + eiCreatedEvent:: + eiCreatedEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + eventResponses_ (this), + venID_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiCreatedEvent:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // eventResponses + // + if (n.name () == "eventResponses" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< eventResponses_type > r ( + eventResponses_traits::create (i, f, this)); + + if (!this->eventResponses_) + { + this->eventResponses_.set (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eiCreatedEvent* eiCreatedEvent:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiCreatedEvent (*this, f, c); + } + + eiCreatedEvent& eiCreatedEvent:: + operator= (const eiCreatedEvent& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->eventResponses_ = x.eventResponses_; + this->venID_ = x.venID_; + } + + return *this; + } + + eiCreatedEvent:: + ~eiCreatedEvent () + { + } +} + +#include +#include +#include + +namespace payloads +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace payloads +{ + void + operator<< (::xercesc::DOMElement& e, const eiCreatedEvent& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiCreatedEvent::eiResponse_type& x (i.eiResponse ()); + if (typeid (eiCreatedEvent::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // eventResponses + // + if (i.eventResponses ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *i.eventResponses (); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiCreatedEvent::venID_type& x (i.venID ()); + if (typeid (eiCreatedEvent::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiCreatedEvent.hxx b/oadrsd/oadrsd/2b/eiCreatedEvent.hxx new file mode 100644 index 0000000..b2b8f88 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiCreatedEvent.hxx @@ -0,0 +1,421 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_CREATED_EVENT_HXX +#define EI_CREATED_EVENT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace payloads +{ + class eiCreatedEvent; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eventResponses; + } +} + +namespace payloads +{ + class eiCreatedEvent: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // eventResponses + // + typedef ::oadr2b::ei::eventResponses eventResponses_type; + typedef ::xsd::cxx::tree::optional< eventResponses_type > eventResponses_optional; + typedef ::xsd::cxx::tree::traits< eventResponses_type, char > eventResponses_traits; + + const eventResponses_optional& + eventResponses () const; + + eventResponses_optional& + eventResponses (); + + void + eventResponses (const eventResponses_type& x); + + void + eventResponses (const eventResponses_optional& x); + + void + eventResponses (::std::auto_ptr< eventResponses_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // Constructors. + // + eiCreatedEvent (const eiResponse_type&, + const venID_type&); + + eiCreatedEvent (::std::auto_ptr< eiResponse_type >, + const venID_type&); + + eiCreatedEvent (::std::auto_ptr< eiResponse_type >, + ::std::auto_ptr< venID_type >); + + eiCreatedEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiCreatedEvent (const eiCreatedEvent& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiCreatedEvent* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiCreatedEvent& + operator= (const eiCreatedEvent& x); + + virtual + ~eiCreatedEvent (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + eventResponses_optional eventResponses_; + ::xsd::cxx::tree::one< venID_type > venID_; + }; +} + +#include + +#include +#include +#include + +namespace payloads +{ +} + +#include + +#include +#include +#include + +#include + +namespace payloads +{ + void + operator<< (::xercesc::DOMElement&, const eiCreatedEvent&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_CREATED_EVENT_HXX diff --git a/oadrsd/oadrsd/2b/eiEventBaselineType.cxx b/oadrsd/oadrsd/2b/eiEventBaselineType.cxx new file mode 100644 index 0000000..d13d431 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventBaselineType.cxx @@ -0,0 +1,783 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiEventBaselineType.hxx" + +#include "dtstart.hxx" + +#include "DurationPropType.hxx" + +#include "intervals.hxx" + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiEventBaselineType + // + + const eiEventBaselineType::dtstart_type& eiEventBaselineType:: + dtstart () const + { + return this->dtstart_.get (); + } + + eiEventBaselineType::dtstart_type& eiEventBaselineType:: + dtstart () + { + return this->dtstart_.get (); + } + + void eiEventBaselineType:: + dtstart (const dtstart_type& x) + { + this->dtstart_.set (x); + } + + void eiEventBaselineType:: + dtstart (::std::auto_ptr< dtstart_type > x) + { + this->dtstart_.set (x); + } + + const eiEventBaselineType::duration_type& eiEventBaselineType:: + duration () const + { + return this->duration_.get (); + } + + eiEventBaselineType::duration_type& eiEventBaselineType:: + duration () + { + return this->duration_.get (); + } + + void eiEventBaselineType:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void eiEventBaselineType:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } + + const eiEventBaselineType::intervals_type& eiEventBaselineType:: + intervals () const + { + return this->intervals_.get (); + } + + eiEventBaselineType::intervals_type& eiEventBaselineType:: + intervals () + { + return this->intervals_.get (); + } + + void eiEventBaselineType:: + intervals (const intervals_type& x) + { + this->intervals_.set (x); + } + + void eiEventBaselineType:: + intervals (::std::auto_ptr< intervals_type > x) + { + this->intervals_.set (x); + } + + const eiEventBaselineType::baselineID_type& eiEventBaselineType:: + baselineID () const + { + return this->baselineID_.get (); + } + + eiEventBaselineType::baselineID_type& eiEventBaselineType:: + baselineID () + { + return this->baselineID_.get (); + } + + void eiEventBaselineType:: + baselineID (const baselineID_type& x) + { + this->baselineID_.set (x); + } + + void eiEventBaselineType:: + baselineID (::std::auto_ptr< baselineID_type > x) + { + this->baselineID_.set (x); + } + + const eiEventBaselineType::resourceID_sequence& eiEventBaselineType:: + resourceID () const + { + return this->resourceID_; + } + + eiEventBaselineType::resourceID_sequence& eiEventBaselineType:: + resourceID () + { + return this->resourceID_; + } + + void eiEventBaselineType:: + resourceID (const resourceID_sequence& s) + { + this->resourceID_ = s; + } + + const eiEventBaselineType::baselineName_type& eiEventBaselineType:: + baselineName () const + { + return this->baselineName_.get (); + } + + eiEventBaselineType::baselineName_type& eiEventBaselineType:: + baselineName () + { + return this->baselineName_.get (); + } + + void eiEventBaselineType:: + baselineName (const baselineName_type& x) + { + this->baselineName_.set (x); + } + + void eiEventBaselineType:: + baselineName (::std::auto_ptr< baselineName_type > x) + { + this->baselineName_.set (x); + } + + const eiEventBaselineType::itemBase_optional& eiEventBaselineType:: + itemBase () const + { + return this->itemBase_; + } + + eiEventBaselineType::itemBase_optional& eiEventBaselineType:: + itemBase () + { + return this->itemBase_; + } + + void eiEventBaselineType:: + itemBase (const itemBase_type& x) + { + this->itemBase_.set (x); + } + + void eiEventBaselineType:: + itemBase (const itemBase_optional& x) + { + this->itemBase_ = x; + } + + void eiEventBaselineType:: + itemBase (::std::auto_ptr< itemBase_type > x) + { + this->itemBase_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiEventBaselineType + // + + eiEventBaselineType:: + eiEventBaselineType (const dtstart_type& dtstart, + const duration_type& duration, + const intervals_type& intervals, + const baselineID_type& baselineID, + const baselineName_type& baselineName) + : ::xml_schema::type (), + dtstart_ (dtstart, this), + duration_ (duration, this), + intervals_ (intervals, this), + baselineID_ (baselineID, this), + resourceID_ (this), + baselineName_ (baselineName, this), + itemBase_ (this) + { + } + + eiEventBaselineType:: + eiEventBaselineType (::std::auto_ptr< dtstart_type > dtstart, + ::std::auto_ptr< duration_type > duration, + ::std::auto_ptr< intervals_type > intervals, + const baselineID_type& baselineID, + const baselineName_type& baselineName) + : ::xml_schema::type (), + dtstart_ (dtstart, this), + duration_ (duration, this), + intervals_ (intervals, this), + baselineID_ (baselineID, this), + resourceID_ (this), + baselineName_ (baselineName, this), + itemBase_ (this) + { + } + + eiEventBaselineType:: + eiEventBaselineType (::std::auto_ptr< dtstart_type > dtstart, + ::std::auto_ptr< duration_type > duration, + ::std::auto_ptr< intervals_type > intervals, + ::std::auto_ptr< baselineID_type > baselineID, + ::std::auto_ptr< baselineName_type > baselineName) + : ::xml_schema::type (), + dtstart_ (dtstart, this), + duration_ (duration, this), + intervals_ (intervals, this), + baselineID_ (baselineID, this), + resourceID_ (this), + baselineName_ (baselineName, this), + itemBase_ (this) + { + } + + eiEventBaselineType:: + eiEventBaselineType (const eiEventBaselineType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + dtstart_ (x.dtstart_, f, this), + duration_ (x.duration_, f, this), + intervals_ (x.intervals_, f, this), + baselineID_ (x.baselineID_, f, this), + resourceID_ (x.resourceID_, f, this), + baselineName_ (x.baselineName_, f, this), + itemBase_ (x.itemBase_, f, this) + { + } + + eiEventBaselineType:: + eiEventBaselineType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + dtstart_ (this), + duration_ (this), + intervals_ (this), + baselineID_ (this), + resourceID_ (this), + baselineName_ (this), + itemBase_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiEventBaselineType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // dtstart + // + if (n.name () == "dtstart" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< dtstart_type > r ( + dtstart_traits::create (i, f, this)); + + if (!dtstart_.present ()) + { + this->dtstart_.set (r); + continue; + } + } + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< duration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!duration_.present ()) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + // intervals + // + if (n.name () == "intervals" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + ::std::auto_ptr< intervals_type > r ( + intervals_traits::create (i, f, this)); + + if (!intervals_.present ()) + { + this->intervals_.set (r); + continue; + } + } + + // baselineID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "baselineID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< baselineID_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!baselineID_.present ()) + { + ::std::auto_ptr< baselineID_type > r ( + dynamic_cast< baselineID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->baselineID_.set (r); + continue; + } + } + } + + // resourceID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< resourceID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< resourceID_type > r ( + dynamic_cast< resourceID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->resourceID_.push_back (r); + continue; + } + } + + // baselineName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "baselineName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< baselineName_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!baselineName_.present ()) + { + ::std::auto_ptr< baselineName_type > r ( + dynamic_cast< baselineName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->baselineName_.set (r); + continue; + } + } + } + + // itemBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< itemBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->itemBase_) + { + ::std::auto_ptr< itemBase_type > r ( + dynamic_cast< itemBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemBase_.set (r); + continue; + } + } + } + + break; + } + + if (!dtstart_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + if (!duration_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + if (!intervals_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + if (!baselineID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "baselineID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!baselineName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "baselineName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eiEventBaselineType* eiEventBaselineType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiEventBaselineType (*this, f, c); + } + + eiEventBaselineType& eiEventBaselineType:: + operator= (const eiEventBaselineType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->dtstart_ = x.dtstart_; + this->duration_ = x.duration_; + this->intervals_ = x.intervals_; + this->baselineID_ = x.baselineID_; + this->resourceID_ = x.resourceID_; + this->baselineName_ = x.baselineName_; + this->itemBase_ = x.itemBase_; + } + + return *this; + } + + eiEventBaselineType:: + ~eiEventBaselineType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eiEventBaselineType > + _xsd_eiEventBaselineType_type_factory_init ( + "eiEventBaselineType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiEventBaselineType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // dtstart + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.dtstart (); + } + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventBaselineType::duration_type& x (i.duration ()); + if (typeid (eiEventBaselineType::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + + // intervals + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e)); + + s << i.intervals (); + } + + // baselineID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventBaselineType::baselineID_type& x (i.baselineID ()); + if (typeid (eiEventBaselineType::baselineID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "baselineID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "baselineID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + + // resourceID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (eiEventBaselineType::resourceID_const_iterator + b (i.resourceID ().begin ()), n (i.resourceID ().end ()); + b != n; ++b) + { + if (typeid (eiEventBaselineType::resourceID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // baselineName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventBaselineType::baselineName_type& x (i.baselineName ()); + if (typeid (eiEventBaselineType::baselineName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "baselineName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "baselineName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + + // itemBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.itemBase ()) + { + const eiEventBaselineType::itemBase_type& x (*i.itemBase ()); + if (typeid (eiEventBaselineType::itemBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eiEventBaselineType > + _xsd_eiEventBaselineType_type_serializer_init ( + "eiEventBaselineType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiEventBaselineType.hxx b/oadrsd/oadrsd/2b/eiEventBaselineType.hxx new file mode 100644 index 0000000..6a5fcbe --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventBaselineType.hxx @@ -0,0 +1,521 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_EVENT_BASELINE_TYPE_HXX +#define EI_EVENT_BASELINE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiEventBaselineType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class dtstart; +} + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace stream +{ + class intervals; +} + +namespace oadr2b +{ + namespace emix + { + class ItemBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventBaselineType: public ::xml_schema::type + { + public: + // dtstart + // + typedef ::icalendar_2_0::dtstart dtstart_type; + typedef ::xsd::cxx::tree::traits< dtstart_type, char > dtstart_traits; + + const dtstart_type& + dtstart () const; + + dtstart_type& + dtstart (); + + void + dtstart (const dtstart_type& x); + + void + dtstart (::std::auto_ptr< dtstart_type > p); + + // duration + // + typedef ::icalendar_2_0::DurationPropType duration_type; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_type& + duration () const; + + duration_type& + duration (); + + void + duration (const duration_type& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // intervals + // + typedef ::stream::intervals intervals_type; + typedef ::xsd::cxx::tree::traits< intervals_type, char > intervals_traits; + + const intervals_type& + intervals () const; + + intervals_type& + intervals (); + + void + intervals (const intervals_type& x); + + void + intervals (::std::auto_ptr< intervals_type > p); + + // baselineID + // + typedef ::xml_schema::string baselineID_type; + typedef ::xsd::cxx::tree::traits< baselineID_type, char > baselineID_traits; + + const baselineID_type& + baselineID () const; + + baselineID_type& + baselineID (); + + void + baselineID (const baselineID_type& x); + + void + baselineID (::std::auto_ptr< baselineID_type > p); + + // resourceID + // + typedef ::xml_schema::string resourceID_type; + typedef ::xsd::cxx::tree::sequence< resourceID_type > resourceID_sequence; + typedef resourceID_sequence::iterator resourceID_iterator; + typedef resourceID_sequence::const_iterator resourceID_const_iterator; + typedef ::xsd::cxx::tree::traits< resourceID_type, char > resourceID_traits; + + const resourceID_sequence& + resourceID () const; + + resourceID_sequence& + resourceID (); + + void + resourceID (const resourceID_sequence& s); + + // baselineName + // + typedef ::xml_schema::string baselineName_type; + typedef ::xsd::cxx::tree::traits< baselineName_type, char > baselineName_traits; + + const baselineName_type& + baselineName () const; + + baselineName_type& + baselineName (); + + void + baselineName (const baselineName_type& x); + + void + baselineName (::std::auto_ptr< baselineName_type > p); + + // itemBase + // + typedef ::oadr2b::emix::ItemBaseType itemBase_type; + typedef ::xsd::cxx::tree::optional< itemBase_type > itemBase_optional; + typedef ::xsd::cxx::tree::traits< itemBase_type, char > itemBase_traits; + + const itemBase_optional& + itemBase () const; + + itemBase_optional& + itemBase (); + + void + itemBase (const itemBase_type& x); + + void + itemBase (const itemBase_optional& x); + + void + itemBase (::std::auto_ptr< itemBase_type > p); + + // Constructors. + // + eiEventBaselineType (const dtstart_type&, + const duration_type&, + const intervals_type&, + const baselineID_type&, + const baselineName_type&); + + eiEventBaselineType (::std::auto_ptr< dtstart_type >, + ::std::auto_ptr< duration_type >, + ::std::auto_ptr< intervals_type >, + const baselineID_type&, + const baselineName_type&); + + eiEventBaselineType (::std::auto_ptr< dtstart_type >, + ::std::auto_ptr< duration_type >, + ::std::auto_ptr< intervals_type >, + ::std::auto_ptr< baselineID_type >, + ::std::auto_ptr< baselineName_type >); + + eiEventBaselineType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiEventBaselineType (const eiEventBaselineType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiEventBaselineType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiEventBaselineType& + operator= (const eiEventBaselineType& x); + + virtual + ~eiEventBaselineType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< dtstart_type > dtstart_; + ::xsd::cxx::tree::one< duration_type > duration_; + ::xsd::cxx::tree::one< intervals_type > intervals_; + ::xsd::cxx::tree::one< baselineID_type > baselineID_; + resourceID_sequence resourceID_; + ::xsd::cxx::tree::one< baselineName_type > baselineName_; + itemBase_optional itemBase_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiEventBaselineType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_EVENT_BASELINE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eiEventSignalType.cxx b/oadrsd/oadrsd/2b/eiEventSignalType.cxx new file mode 100644 index 0000000..fa6a92a --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventSignalType.cxx @@ -0,0 +1,826 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiEventSignalType.hxx" + +#include "intervals.hxx" + +#include "EiTargetType.hxx" + +#include "signalNameType.hxx" + +#include "SignalTypeEnumeratedType.hxx" + +#include "ItemBaseType.hxx" + +#include "currentValueType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiEventSignalType + // + + const eiEventSignalType::intervals_type& eiEventSignalType:: + intervals () const + { + return this->intervals_.get (); + } + + eiEventSignalType::intervals_type& eiEventSignalType:: + intervals () + { + return this->intervals_.get (); + } + + void eiEventSignalType:: + intervals (const intervals_type& x) + { + this->intervals_.set (x); + } + + void eiEventSignalType:: + intervals (::std::auto_ptr< intervals_type > x) + { + this->intervals_.set (x); + } + + const eiEventSignalType::eiTarget_optional& eiEventSignalType:: + eiTarget () const + { + return this->eiTarget_; + } + + eiEventSignalType::eiTarget_optional& eiEventSignalType:: + eiTarget () + { + return this->eiTarget_; + } + + void eiEventSignalType:: + eiTarget (const eiTarget_type& x) + { + this->eiTarget_.set (x); + } + + void eiEventSignalType:: + eiTarget (const eiTarget_optional& x) + { + this->eiTarget_ = x; + } + + void eiEventSignalType:: + eiTarget (::std::auto_ptr< eiTarget_type > x) + { + this->eiTarget_.set (x); + } + + const eiEventSignalType::signalName_type& eiEventSignalType:: + signalName () const + { + return this->signalName_.get (); + } + + eiEventSignalType::signalName_type& eiEventSignalType:: + signalName () + { + return this->signalName_.get (); + } + + void eiEventSignalType:: + signalName (const signalName_type& x) + { + this->signalName_.set (x); + } + + void eiEventSignalType:: + signalName (::std::auto_ptr< signalName_type > x) + { + this->signalName_.set (x); + } + + const eiEventSignalType::signalType_type& eiEventSignalType:: + signalType () const + { + return this->signalType_.get (); + } + + eiEventSignalType::signalType_type& eiEventSignalType:: + signalType () + { + return this->signalType_.get (); + } + + void eiEventSignalType:: + signalType (const signalType_type& x) + { + this->signalType_.set (x); + } + + void eiEventSignalType:: + signalType (::std::auto_ptr< signalType_type > x) + { + this->signalType_.set (x); + } + + const eiEventSignalType::signalID_type& eiEventSignalType:: + signalID () const + { + return this->signalID_.get (); + } + + eiEventSignalType::signalID_type& eiEventSignalType:: + signalID () + { + return this->signalID_.get (); + } + + void eiEventSignalType:: + signalID (const signalID_type& x) + { + this->signalID_.set (x); + } + + void eiEventSignalType:: + signalID (::std::auto_ptr< signalID_type > x) + { + this->signalID_.set (x); + } + + const eiEventSignalType::itemBase_optional& eiEventSignalType:: + itemBase () const + { + return this->itemBase_; + } + + eiEventSignalType::itemBase_optional& eiEventSignalType:: + itemBase () + { + return this->itemBase_; + } + + void eiEventSignalType:: + itemBase (const itemBase_type& x) + { + this->itemBase_.set (x); + } + + void eiEventSignalType:: + itemBase (const itemBase_optional& x) + { + this->itemBase_ = x; + } + + void eiEventSignalType:: + itemBase (::std::auto_ptr< itemBase_type > x) + { + this->itemBase_.set (x); + } + + const eiEventSignalType::currentValue_optional& eiEventSignalType:: + currentValue () const + { + return this->currentValue_; + } + + eiEventSignalType::currentValue_optional& eiEventSignalType:: + currentValue () + { + return this->currentValue_; + } + + void eiEventSignalType:: + currentValue (const currentValue_type& x) + { + this->currentValue_.set (x); + } + + void eiEventSignalType:: + currentValue (const currentValue_optional& x) + { + this->currentValue_ = x; + } + + void eiEventSignalType:: + currentValue (::std::auto_ptr< currentValue_type > x) + { + this->currentValue_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiEventSignalType + // + + eiEventSignalType:: + eiEventSignalType (const intervals_type& intervals, + const signalName_type& signalName, + const signalType_type& signalType, + const signalID_type& signalID) + : ::xml_schema::type (), + intervals_ (intervals, this), + eiTarget_ (this), + signalName_ (signalName, this), + signalType_ (signalType, this), + signalID_ (signalID, this), + itemBase_ (this), + currentValue_ (this) + { + } + + eiEventSignalType:: + eiEventSignalType (::std::auto_ptr< intervals_type > intervals, + const signalName_type& signalName, + const signalType_type& signalType, + const signalID_type& signalID) + : ::xml_schema::type (), + intervals_ (intervals, this), + eiTarget_ (this), + signalName_ (signalName, this), + signalType_ (signalType, this), + signalID_ (signalID, this), + itemBase_ (this), + currentValue_ (this) + { + } + + eiEventSignalType:: + eiEventSignalType (::std::auto_ptr< intervals_type > intervals, + ::std::auto_ptr< signalName_type > signalName, + ::std::auto_ptr< signalType_type > signalType, + ::std::auto_ptr< signalID_type > signalID) + : ::xml_schema::type (), + intervals_ (intervals, this), + eiTarget_ (this), + signalName_ (signalName, this), + signalType_ (signalType, this), + signalID_ (signalID, this), + itemBase_ (this), + currentValue_ (this) + { + } + + eiEventSignalType:: + eiEventSignalType (const eiEventSignalType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + intervals_ (x.intervals_, f, this), + eiTarget_ (x.eiTarget_, f, this), + signalName_ (x.signalName_, f, this), + signalType_ (x.signalType_, f, this), + signalID_ (x.signalID_, f, this), + itemBase_ (x.itemBase_, f, this), + currentValue_ (x.currentValue_, f, this) + { + } + + eiEventSignalType:: + eiEventSignalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + intervals_ (this), + eiTarget_ (this), + signalName_ (this), + signalType_ (this), + signalID_ (this), + itemBase_ (this), + currentValue_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiEventSignalType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // intervals + // + if (n.name () == "intervals" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + ::std::auto_ptr< intervals_type > r ( + intervals_traits::create (i, f, this)); + + if (!intervals_.present ()) + { + this->intervals_.set (r); + continue; + } + } + + // eiTarget + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiTarget_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->eiTarget_) + { + ::std::auto_ptr< eiTarget_type > r ( + dynamic_cast< eiTarget_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiTarget_.set (r); + continue; + } + } + } + + // signalName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< signalName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!signalName_.present ()) + { + ::std::auto_ptr< signalName_type > r ( + dynamic_cast< signalName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->signalName_.set (r); + continue; + } + } + } + + // signalType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< signalType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!signalType_.present ()) + { + ::std::auto_ptr< signalType_type > r ( + dynamic_cast< signalType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->signalType_.set (r); + continue; + } + } + } + + // signalID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< signalID_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!signalID_.present ()) + { + ::std::auto_ptr< signalID_type > r ( + dynamic_cast< signalID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->signalID_.set (r); + continue; + } + } + } + + // itemBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< itemBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->itemBase_) + { + ::std::auto_ptr< itemBase_type > r ( + dynamic_cast< itemBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemBase_.set (r); + continue; + } + } + } + + // currentValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< currentValue_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->currentValue_) + { + ::std::auto_ptr< currentValue_type > r ( + dynamic_cast< currentValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->currentValue_.set (r); + continue; + } + } + } + + break; + } + + if (!intervals_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + if (!signalName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!signalType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!signalID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "signalID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eiEventSignalType* eiEventSignalType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiEventSignalType (*this, f, c); + } + + eiEventSignalType& eiEventSignalType:: + operator= (const eiEventSignalType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->intervals_ = x.intervals_; + this->eiTarget_ = x.eiTarget_; + this->signalName_ = x.signalName_; + this->signalType_ = x.signalType_; + this->signalID_ = x.signalID_; + this->itemBase_ = x.itemBase_; + this->currentValue_ = x.currentValue_; + } + + return *this; + } + + eiEventSignalType:: + ~eiEventSignalType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eiEventSignalType > + _xsd_eiEventSignalType_type_factory_init ( + "eiEventSignalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiEventSignalType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // intervals + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e)); + + s << i.intervals (); + } + + // eiTarget + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.eiTarget ()) + { + const eiEventSignalType::eiTarget_type& x (*i.eiTarget ()); + if (typeid (eiEventSignalType::eiTarget_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // signalName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventSignalType::signalName_type& x (i.signalName ()); + if (typeid (eiEventSignalType::signalName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // signalType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventSignalType::signalType_type& x (i.signalType ()); + if (typeid (eiEventSignalType::signalType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // signalID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventSignalType::signalID_type& x (i.signalID ()); + if (typeid (eiEventSignalType::signalID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "signalID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "signalID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + + // itemBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.itemBase ()) + { + const eiEventSignalType::itemBase_type& x (*i.itemBase ()); + if (typeid (eiEventSignalType::itemBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + + // currentValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.currentValue ()) + { + const eiEventSignalType::currentValue_type& x (*i.currentValue ()); + if (typeid (eiEventSignalType::currentValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eiEventSignalType > + _xsd_eiEventSignalType_type_serializer_init ( + "eiEventSignalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiEventSignalType.hxx b/oadrsd/oadrsd/2b/eiEventSignalType.hxx new file mode 100644 index 0000000..9fff47e --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventSignalType.hxx @@ -0,0 +1,548 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_EVENT_SIGNAL_TYPE_HXX +#define EI_EVENT_SIGNAL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiEventSignalType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace stream +{ + class intervals; +} + +namespace oadr2b +{ + namespace ei + { + class EiTargetType; + } +} + +namespace oadr2b +{ + namespace ei + { + class signalNameType; + } +} + +namespace oadr2b +{ + namespace ei + { + class SignalTypeEnumeratedType; + } +} + +namespace oadr2b +{ + namespace emix + { + class ItemBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class currentValueType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventSignalType: public ::xml_schema::type + { + public: + // intervals + // + typedef ::stream::intervals intervals_type; + typedef ::xsd::cxx::tree::traits< intervals_type, char > intervals_traits; + + const intervals_type& + intervals () const; + + intervals_type& + intervals (); + + void + intervals (const intervals_type& x); + + void + intervals (::std::auto_ptr< intervals_type > p); + + // eiTarget + // + typedef ::oadr2b::ei::EiTargetType eiTarget_type; + typedef ::xsd::cxx::tree::optional< eiTarget_type > eiTarget_optional; + typedef ::xsd::cxx::tree::traits< eiTarget_type, char > eiTarget_traits; + + const eiTarget_optional& + eiTarget () const; + + eiTarget_optional& + eiTarget (); + + void + eiTarget (const eiTarget_type& x); + + void + eiTarget (const eiTarget_optional& x); + + void + eiTarget (::std::auto_ptr< eiTarget_type > p); + + // signalName + // + typedef ::oadr2b::ei::signalNameType signalName_type; + typedef ::xsd::cxx::tree::traits< signalName_type, char > signalName_traits; + + const signalName_type& + signalName () const; + + signalName_type& + signalName (); + + void + signalName (const signalName_type& x); + + void + signalName (::std::auto_ptr< signalName_type > p); + + // signalType + // + typedef ::oadr2b::ei::SignalTypeEnumeratedType signalType_type; + typedef ::xsd::cxx::tree::traits< signalType_type, char > signalType_traits; + + const signalType_type& + signalType () const; + + signalType_type& + signalType (); + + void + signalType (const signalType_type& x); + + void + signalType (::std::auto_ptr< signalType_type > p); + + // signalID + // + typedef ::xml_schema::string signalID_type; + typedef ::xsd::cxx::tree::traits< signalID_type, char > signalID_traits; + + const signalID_type& + signalID () const; + + signalID_type& + signalID (); + + void + signalID (const signalID_type& x); + + void + signalID (::std::auto_ptr< signalID_type > p); + + // itemBase + // + typedef ::oadr2b::emix::ItemBaseType itemBase_type; + typedef ::xsd::cxx::tree::optional< itemBase_type > itemBase_optional; + typedef ::xsd::cxx::tree::traits< itemBase_type, char > itemBase_traits; + + const itemBase_optional& + itemBase () const; + + itemBase_optional& + itemBase (); + + void + itemBase (const itemBase_type& x); + + void + itemBase (const itemBase_optional& x); + + void + itemBase (::std::auto_ptr< itemBase_type > p); + + // currentValue + // + typedef ::oadr2b::ei::currentValueType currentValue_type; + typedef ::xsd::cxx::tree::optional< currentValue_type > currentValue_optional; + typedef ::xsd::cxx::tree::traits< currentValue_type, char > currentValue_traits; + + const currentValue_optional& + currentValue () const; + + currentValue_optional& + currentValue (); + + void + currentValue (const currentValue_type& x); + + void + currentValue (const currentValue_optional& x); + + void + currentValue (::std::auto_ptr< currentValue_type > p); + + // Constructors. + // + eiEventSignalType (const intervals_type&, + const signalName_type&, + const signalType_type&, + const signalID_type&); + + eiEventSignalType (::std::auto_ptr< intervals_type >, + const signalName_type&, + const signalType_type&, + const signalID_type&); + + eiEventSignalType (::std::auto_ptr< intervals_type >, + ::std::auto_ptr< signalName_type >, + ::std::auto_ptr< signalType_type >, + ::std::auto_ptr< signalID_type >); + + eiEventSignalType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiEventSignalType (const eiEventSignalType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiEventSignalType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiEventSignalType& + operator= (const eiEventSignalType& x); + + virtual + ~eiEventSignalType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< intervals_type > intervals_; + eiTarget_optional eiTarget_; + ::xsd::cxx::tree::one< signalName_type > signalName_; + ::xsd::cxx::tree::one< signalType_type > signalType_; + ::xsd::cxx::tree::one< signalID_type > signalID_; + itemBase_optional itemBase_; + currentValue_optional currentValue_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiEventSignalType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_EVENT_SIGNAL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eiEventSignalsType.cxx b/oadrsd/oadrsd/2b/eiEventSignalsType.cxx new file mode 100644 index 0000000..436caf7 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventSignalsType.cxx @@ -0,0 +1,358 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiEventSignalsType.hxx" + +#include "eiEventSignalType.hxx" + +#include "eiEventBaselineType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiEventSignalsType + // + + const eiEventSignalsType::eiEventSignal_sequence& eiEventSignalsType:: + eiEventSignal () const + { + return this->eiEventSignal_; + } + + eiEventSignalsType::eiEventSignal_sequence& eiEventSignalsType:: + eiEventSignal () + { + return this->eiEventSignal_; + } + + void eiEventSignalsType:: + eiEventSignal (const eiEventSignal_sequence& s) + { + this->eiEventSignal_ = s; + } + + const eiEventSignalsType::eiEventBaseline_optional& eiEventSignalsType:: + eiEventBaseline () const + { + return this->eiEventBaseline_; + } + + eiEventSignalsType::eiEventBaseline_optional& eiEventSignalsType:: + eiEventBaseline () + { + return this->eiEventBaseline_; + } + + void eiEventSignalsType:: + eiEventBaseline (const eiEventBaseline_type& x) + { + this->eiEventBaseline_.set (x); + } + + void eiEventSignalsType:: + eiEventBaseline (const eiEventBaseline_optional& x) + { + this->eiEventBaseline_ = x; + } + + void eiEventSignalsType:: + eiEventBaseline (::std::auto_ptr< eiEventBaseline_type > x) + { + this->eiEventBaseline_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiEventSignalsType + // + + eiEventSignalsType:: + eiEventSignalsType () + : ::xml_schema::type (), + eiEventSignal_ (this), + eiEventBaseline_ (this) + { + } + + eiEventSignalsType:: + eiEventSignalsType (const eiEventSignalsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiEventSignal_ (x.eiEventSignal_, f, this), + eiEventBaseline_ (x.eiEventBaseline_, f, this) + { + } + + eiEventSignalsType:: + eiEventSignalsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiEventSignal_ (this), + eiEventBaseline_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiEventSignalsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiEventSignal + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiEventSignal_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< eiEventSignal_type > r ( + dynamic_cast< eiEventSignal_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiEventSignal_.push_back (r); + continue; + } + } + + // eiEventBaseline + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiEventBaseline_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->eiEventBaseline_) + { + ::std::auto_ptr< eiEventBaseline_type > r ( + dynamic_cast< eiEventBaseline_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiEventBaseline_.set (r); + continue; + } + } + } + + break; + } + } + + eiEventSignalsType* eiEventSignalsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiEventSignalsType (*this, f, c); + } + + eiEventSignalsType& eiEventSignalsType:: + operator= (const eiEventSignalsType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiEventSignal_ = x.eiEventSignal_; + this->eiEventBaseline_ = x.eiEventBaseline_; + } + + return *this; + } + + eiEventSignalsType:: + ~eiEventSignalsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eiEventSignalsType > + _xsd_eiEventSignalsType_type_factory_init ( + "eiEventSignalsType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiEventSignalsType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiEventSignal + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (eiEventSignalsType::eiEventSignal_const_iterator + b (i.eiEventSignal ().begin ()), n (i.eiEventSignal ().end ()); + b != n; ++b) + { + if (typeid (eiEventSignalsType::eiEventSignal_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // eiEventBaseline + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.eiEventBaseline ()) + { + const eiEventSignalsType::eiEventBaseline_type& x (*i.eiEventBaseline ()); + if (typeid (eiEventSignalsType::eiEventBaseline_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eiEventSignalsType > + _xsd_eiEventSignalsType_type_serializer_init ( + "eiEventSignalsType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiEventSignalsType.hxx b/oadrsd/oadrsd/2b/eiEventSignalsType.hxx new file mode 100644 index 0000000..fe595da --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventSignalsType.hxx @@ -0,0 +1,408 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_EVENT_SIGNALS_TYPE_HXX +#define EI_EVENT_SIGNALS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiEventSignalsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class eiEventSignalType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventBaselineType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventSignalsType: public ::xml_schema::type + { + public: + // eiEventSignal + // + typedef ::oadr2b::ei::eiEventSignalType eiEventSignal_type; + typedef ::xsd::cxx::tree::sequence< eiEventSignal_type > eiEventSignal_sequence; + typedef eiEventSignal_sequence::iterator eiEventSignal_iterator; + typedef eiEventSignal_sequence::const_iterator eiEventSignal_const_iterator; + typedef ::xsd::cxx::tree::traits< eiEventSignal_type, char > eiEventSignal_traits; + + const eiEventSignal_sequence& + eiEventSignal () const; + + eiEventSignal_sequence& + eiEventSignal (); + + void + eiEventSignal (const eiEventSignal_sequence& s); + + // eiEventBaseline + // + typedef ::oadr2b::ei::eiEventBaselineType eiEventBaseline_type; + typedef ::xsd::cxx::tree::optional< eiEventBaseline_type > eiEventBaseline_optional; + typedef ::xsd::cxx::tree::traits< eiEventBaseline_type, char > eiEventBaseline_traits; + + const eiEventBaseline_optional& + eiEventBaseline () const; + + eiEventBaseline_optional& + eiEventBaseline (); + + void + eiEventBaseline (const eiEventBaseline_type& x); + + void + eiEventBaseline (const eiEventBaseline_optional& x); + + void + eiEventBaseline (::std::auto_ptr< eiEventBaseline_type > p); + + // Constructors. + // + eiEventSignalsType (); + + eiEventSignalsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiEventSignalsType (const eiEventSignalsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiEventSignalsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiEventSignalsType& + operator= (const eiEventSignalsType& x); + + virtual + ~eiEventSignalsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + eiEventSignal_sequence eiEventSignal_; + eiEventBaseline_optional eiEventBaseline_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiEventSignalsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_EVENT_SIGNALS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eiEventType.cxx b/oadrsd/oadrsd/2b/eiEventType.cxx new file mode 100644 index 0000000..2ad1f1c --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventType.cxx @@ -0,0 +1,562 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiEventType.hxx" + +#include "eventDescriptorType.hxx" + +#include "eiActivePeriodType.hxx" + +#include "eiEventSignalsType.hxx" + +#include "EiTargetType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiEventType + // + + const eiEventType::eventDescriptor_type& eiEventType:: + eventDescriptor () const + { + return this->eventDescriptor_.get (); + } + + eiEventType::eventDescriptor_type& eiEventType:: + eventDescriptor () + { + return this->eventDescriptor_.get (); + } + + void eiEventType:: + eventDescriptor (const eventDescriptor_type& x) + { + this->eventDescriptor_.set (x); + } + + void eiEventType:: + eventDescriptor (::std::auto_ptr< eventDescriptor_type > x) + { + this->eventDescriptor_.set (x); + } + + const eiEventType::eiActivePeriod_type& eiEventType:: + eiActivePeriod () const + { + return this->eiActivePeriod_.get (); + } + + eiEventType::eiActivePeriod_type& eiEventType:: + eiActivePeriod () + { + return this->eiActivePeriod_.get (); + } + + void eiEventType:: + eiActivePeriod (const eiActivePeriod_type& x) + { + this->eiActivePeriod_.set (x); + } + + void eiEventType:: + eiActivePeriod (::std::auto_ptr< eiActivePeriod_type > x) + { + this->eiActivePeriod_.set (x); + } + + const eiEventType::eiEventSignals_type& eiEventType:: + eiEventSignals () const + { + return this->eiEventSignals_.get (); + } + + eiEventType::eiEventSignals_type& eiEventType:: + eiEventSignals () + { + return this->eiEventSignals_.get (); + } + + void eiEventType:: + eiEventSignals (const eiEventSignals_type& x) + { + this->eiEventSignals_.set (x); + } + + void eiEventType:: + eiEventSignals (::std::auto_ptr< eiEventSignals_type > x) + { + this->eiEventSignals_.set (x); + } + + const eiEventType::eiTarget_type& eiEventType:: + eiTarget () const + { + return this->eiTarget_.get (); + } + + eiEventType::eiTarget_type& eiEventType:: + eiTarget () + { + return this->eiTarget_.get (); + } + + void eiEventType:: + eiTarget (const eiTarget_type& x) + { + this->eiTarget_.set (x); + } + + void eiEventType:: + eiTarget (::std::auto_ptr< eiTarget_type > x) + { + this->eiTarget_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiEventType + // + + eiEventType:: + eiEventType (const eventDescriptor_type& eventDescriptor, + const eiActivePeriod_type& eiActivePeriod, + const eiEventSignals_type& eiEventSignals, + const eiTarget_type& eiTarget) + : ::xml_schema::type (), + eventDescriptor_ (eventDescriptor, this), + eiActivePeriod_ (eiActivePeriod, this), + eiEventSignals_ (eiEventSignals, this), + eiTarget_ (eiTarget, this) + { + } + + eiEventType:: + eiEventType (::std::auto_ptr< eventDescriptor_type > eventDescriptor, + ::std::auto_ptr< eiActivePeriod_type > eiActivePeriod, + ::std::auto_ptr< eiEventSignals_type > eiEventSignals, + ::std::auto_ptr< eiTarget_type > eiTarget) + : ::xml_schema::type (), + eventDescriptor_ (eventDescriptor, this), + eiActivePeriod_ (eiActivePeriod, this), + eiEventSignals_ (eiEventSignals, this), + eiTarget_ (eiTarget, this) + { + } + + eiEventType:: + eiEventType (const eiEventType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eventDescriptor_ (x.eventDescriptor_, f, this), + eiActivePeriod_ (x.eiActivePeriod_, f, this), + eiEventSignals_ (x.eiEventSignals_, f, this), + eiTarget_ (x.eiTarget_, f, this) + { + } + + eiEventType:: + eiEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eventDescriptor_ (this), + eiActivePeriod_ (this), + eiEventSignals_ (this), + eiTarget_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiEventType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eventDescriptor + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eventDescriptor_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eventDescriptor_.present ()) + { + ::std::auto_ptr< eventDescriptor_type > r ( + dynamic_cast< eventDescriptor_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eventDescriptor_.set (r); + continue; + } + } + } + + // eiActivePeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiActivePeriod_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiActivePeriod_.present ()) + { + ::std::auto_ptr< eiActivePeriod_type > r ( + dynamic_cast< eiActivePeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiActivePeriod_.set (r); + continue; + } + } + } + + // eiEventSignals + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiEventSignals_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiEventSignals_.present ()) + { + ::std::auto_ptr< eiEventSignals_type > r ( + dynamic_cast< eiEventSignals_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiEventSignals_.set (r); + continue; + } + } + } + + // eiTarget + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiTarget_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiTarget_.present ()) + { + ::std::auto_ptr< eiTarget_type > r ( + dynamic_cast< eiTarget_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiTarget_.set (r); + continue; + } + } + } + + break; + } + + if (!eventDescriptor_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!eiActivePeriod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!eiEventSignals_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!eiTarget_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eiEventType* eiEventType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiEventType (*this, f, c); + } + + eiEventType& eiEventType:: + operator= (const eiEventType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eventDescriptor_ = x.eventDescriptor_; + this->eiActivePeriod_ = x.eiActivePeriod_; + this->eiEventSignals_ = x.eiEventSignals_; + this->eiTarget_ = x.eiTarget_; + } + + return *this; + } + + eiEventType:: + ~eiEventType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eiEventType > + _xsd_eiEventType_type_factory_init ( + "eiEventType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiEventType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eventDescriptor + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventType::eventDescriptor_type& x (i.eventDescriptor ()); + if (typeid (eiEventType::eventDescriptor_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // eiActivePeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventType::eiActivePeriod_type& x (i.eiActivePeriod ()); + if (typeid (eiEventType::eiActivePeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // eiEventSignals + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventType::eiEventSignals_type& x (i.eiEventSignals ()); + if (typeid (eiEventType::eiEventSignals_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // eiTarget + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiEventType::eiTarget_type& x (i.eiTarget ()); + if (typeid (eiEventType::eiTarget_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eiEventType > + _xsd_eiEventType_type_serializer_init ( + "eiEventType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiEventType.hxx b/oadrsd/oadrsd/2b/eiEventType.hxx new file mode 100644 index 0000000..78c3f38 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiEventType.hxx @@ -0,0 +1,464 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_EVENT_TYPE_HXX +#define EI_EVENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiEventType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class eventDescriptorType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiActivePeriodType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventSignalsType; + } +} + +namespace oadr2b +{ + namespace ei + { + class EiTargetType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiEventType: public ::xml_schema::type + { + public: + // eventDescriptor + // + typedef ::oadr2b::ei::eventDescriptorType eventDescriptor_type; + typedef ::xsd::cxx::tree::traits< eventDescriptor_type, char > eventDescriptor_traits; + + const eventDescriptor_type& + eventDescriptor () const; + + eventDescriptor_type& + eventDescriptor (); + + void + eventDescriptor (const eventDescriptor_type& x); + + void + eventDescriptor (::std::auto_ptr< eventDescriptor_type > p); + + // eiActivePeriod + // + typedef ::oadr2b::ei::eiActivePeriodType eiActivePeriod_type; + typedef ::xsd::cxx::tree::traits< eiActivePeriod_type, char > eiActivePeriod_traits; + + const eiActivePeriod_type& + eiActivePeriod () const; + + eiActivePeriod_type& + eiActivePeriod (); + + void + eiActivePeriod (const eiActivePeriod_type& x); + + void + eiActivePeriod (::std::auto_ptr< eiActivePeriod_type > p); + + // eiEventSignals + // + typedef ::oadr2b::ei::eiEventSignalsType eiEventSignals_type; + typedef ::xsd::cxx::tree::traits< eiEventSignals_type, char > eiEventSignals_traits; + + const eiEventSignals_type& + eiEventSignals () const; + + eiEventSignals_type& + eiEventSignals (); + + void + eiEventSignals (const eiEventSignals_type& x); + + void + eiEventSignals (::std::auto_ptr< eiEventSignals_type > p); + + // eiTarget + // + typedef ::oadr2b::ei::EiTargetType eiTarget_type; + typedef ::xsd::cxx::tree::traits< eiTarget_type, char > eiTarget_traits; + + const eiTarget_type& + eiTarget () const; + + eiTarget_type& + eiTarget (); + + void + eiTarget (const eiTarget_type& x); + + void + eiTarget (::std::auto_ptr< eiTarget_type > p); + + // Constructors. + // + eiEventType (const eventDescriptor_type&, + const eiActivePeriod_type&, + const eiEventSignals_type&, + const eiTarget_type&); + + eiEventType (::std::auto_ptr< eventDescriptor_type >, + ::std::auto_ptr< eiActivePeriod_type >, + ::std::auto_ptr< eiEventSignals_type >, + ::std::auto_ptr< eiTarget_type >); + + eiEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiEventType (const eiEventType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiEventType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiEventType& + operator= (const eiEventType& x); + + virtual + ~eiEventType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eventDescriptor_type > eventDescriptor_; + ::xsd::cxx::tree::one< eiActivePeriod_type > eiActivePeriod_; + ::xsd::cxx::tree::one< eiEventSignals_type > eiEventSignals_; + ::xsd::cxx::tree::one< eiTarget_type > eiTarget_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiEventType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_EVENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eiMarketContext.cxx b/oadrsd/oadrsd/2b/eiMarketContext.cxx new file mode 100644 index 0000000..a6a1cb4 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiMarketContext.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiMarketContext.hxx" + +#include "MarketContextType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eiMarketContext + // + + const eiMarketContext::marketContext_type& eiMarketContext:: + marketContext () const + { + return this->marketContext_.get (); + } + + eiMarketContext::marketContext_type& eiMarketContext:: + marketContext () + { + return this->marketContext_.get (); + } + + void eiMarketContext:: + marketContext (const marketContext_type& x) + { + this->marketContext_.set (x); + } + + void eiMarketContext:: + marketContext (::std::auto_ptr< marketContext_type > x) + { + this->marketContext_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eiMarketContext + // + + eiMarketContext:: + eiMarketContext (const marketContext_type& marketContext) + : ::xml_schema::type (), + marketContext_ (marketContext, this) + { + } + + eiMarketContext:: + eiMarketContext (::std::auto_ptr< marketContext_type > marketContext) + : ::xml_schema::type (), + marketContext_ (marketContext, this) + { + } + + eiMarketContext:: + eiMarketContext (const eiMarketContext& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + marketContext_ (x.marketContext_, f, this) + { + } + + eiMarketContext:: + eiMarketContext (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + marketContext_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiMarketContext:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // marketContext + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< marketContext_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!marketContext_.present ()) + { + ::std::auto_ptr< marketContext_type > r ( + dynamic_cast< marketContext_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->marketContext_.set (r); + continue; + } + } + } + + break; + } + + if (!marketContext_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + } + + eiMarketContext* eiMarketContext:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiMarketContext (*this, f, c); + } + + eiMarketContext& eiMarketContext:: + operator= (const eiMarketContext& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->marketContext_ = x.marketContext_; + } + + return *this; + } + + eiMarketContext:: + ~eiMarketContext () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eiMarketContext& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // marketContext + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiMarketContext::marketContext_type& x (i.marketContext ()); + if (typeid (eiMarketContext::marketContext_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiMarketContext.hxx b/oadrsd/oadrsd/2b/eiMarketContext.hxx new file mode 100644 index 0000000..682d3b9 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiMarketContext.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_MARKET_CONTEXT_HXX +#define EI_MARKET_CONTEXT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eiMarketContext; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + class MarketContextType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eiMarketContext: public ::xml_schema::type + { + public: + // marketContext + // + typedef ::oadr2b::emix::MarketContextType marketContext_type; + typedef ::xsd::cxx::tree::traits< marketContext_type, char > marketContext_traits; + + const marketContext_type& + marketContext () const; + + marketContext_type& + marketContext (); + + void + marketContext (const marketContext_type& x); + + void + marketContext (::std::auto_ptr< marketContext_type > p); + + // Constructors. + // + eiMarketContext (const marketContext_type&); + + eiMarketContext (::std::auto_ptr< marketContext_type >); + + eiMarketContext (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiMarketContext (const eiMarketContext& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiMarketContext* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiMarketContext& + operator= (const eiMarketContext& x); + + virtual + ~eiMarketContext (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< marketContext_type > marketContext_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eiMarketContext&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_MARKET_CONTEXT_HXX diff --git a/oadrsd/oadrsd/2b/eiRequestEvent.cxx b/oadrsd/oadrsd/2b/eiRequestEvent.cxx new file mode 100644 index 0000000..a7e1ec1 --- /dev/null +++ b/oadrsd/oadrsd/2b/eiRequestEvent.cxx @@ -0,0 +1,403 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eiRequestEvent.hxx" + +namespace payloads +{ + // eiRequestEvent + // + + const eiRequestEvent::requestID_type& eiRequestEvent:: + requestID () const + { + return this->requestID_.get (); + } + + eiRequestEvent::requestID_type& eiRequestEvent:: + requestID () + { + return this->requestID_.get (); + } + + void eiRequestEvent:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void eiRequestEvent:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const eiRequestEvent::venID_type& eiRequestEvent:: + venID () const + { + return this->venID_.get (); + } + + eiRequestEvent::venID_type& eiRequestEvent:: + venID () + { + return this->venID_.get (); + } + + void eiRequestEvent:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void eiRequestEvent:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const eiRequestEvent::replyLimit_optional& eiRequestEvent:: + replyLimit () const + { + return this->replyLimit_; + } + + eiRequestEvent::replyLimit_optional& eiRequestEvent:: + replyLimit () + { + return this->replyLimit_; + } + + void eiRequestEvent:: + replyLimit (const replyLimit_type& x) + { + this->replyLimit_.set (x); + } + + void eiRequestEvent:: + replyLimit (const replyLimit_optional& x) + { + this->replyLimit_ = x; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace payloads +{ + // eiRequestEvent + // + + eiRequestEvent:: + eiRequestEvent (const requestID_type& requestID, + const venID_type& venID) + : ::xml_schema::type (), + requestID_ (requestID, this), + venID_ (venID, this), + replyLimit_ (this) + { + } + + eiRequestEvent:: + eiRequestEvent (::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< venID_type > venID) + : ::xml_schema::type (), + requestID_ (requestID, this), + venID_ (venID, this), + replyLimit_ (this) + { + } + + eiRequestEvent:: + eiRequestEvent (const eiRequestEvent& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + venID_ (x.venID_, f, this), + replyLimit_ (x.replyLimit_, f, this) + { + } + + eiRequestEvent:: + eiRequestEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + venID_ (this), + replyLimit_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eiRequestEvent:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + // replyLimit + // + if (n.name () == "replyLimit" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + if (!this->replyLimit_) + { + this->replyLimit_.set (replyLimit_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eiRequestEvent* eiRequestEvent:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eiRequestEvent (*this, f, c); + } + + eiRequestEvent& eiRequestEvent:: + operator= (const eiRequestEvent& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->venID_ = x.venID_; + this->replyLimit_ = x.replyLimit_; + } + + return *this; + } + + eiRequestEvent:: + ~eiRequestEvent () + { + } +} + +#include +#include +#include + +namespace payloads +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace payloads +{ + void + operator<< (::xercesc::DOMElement& e, const eiRequestEvent& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiRequestEvent::requestID_type& x (i.requestID ()); + if (typeid (eiRequestEvent::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eiRequestEvent::venID_type& x (i.venID ()); + if (typeid (eiRequestEvent::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // replyLimit + // + if (i.replyLimit ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "replyLimit", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << *i.replyLimit (); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eiRequestEvent.hxx b/oadrsd/oadrsd/2b/eiRequestEvent.hxx new file mode 100644 index 0000000..a6cc78d --- /dev/null +++ b/oadrsd/oadrsd/2b/eiRequestEvent.hxx @@ -0,0 +1,399 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EI_REQUEST_EVENT_HXX +#define EI_REQUEST_EVENT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace payloads +{ + class eiRequestEvent; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace payloads +{ + class eiRequestEvent: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // replyLimit + // + typedef ::xml_schema::unsigned_int replyLimit_type; + typedef ::xsd::cxx::tree::optional< replyLimit_type > replyLimit_optional; + typedef ::xsd::cxx::tree::traits< replyLimit_type, char > replyLimit_traits; + + const replyLimit_optional& + replyLimit () const; + + replyLimit_optional& + replyLimit (); + + void + replyLimit (const replyLimit_type& x); + + void + replyLimit (const replyLimit_optional& x); + + // Constructors. + // + eiRequestEvent (const requestID_type&, + const venID_type&); + + eiRequestEvent (::std::auto_ptr< requestID_type >, + ::std::auto_ptr< venID_type >); + + eiRequestEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eiRequestEvent (const eiRequestEvent& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eiRequestEvent* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eiRequestEvent& + operator= (const eiRequestEvent& x); + + virtual + ~eiRequestEvent (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + ::xsd::cxx::tree::one< venID_type > venID_; + replyLimit_optional replyLimit_; + }; +} + +#include + +#include +#include +#include + +namespace payloads +{ +} + +#include + +#include +#include +#include + +#include + +namespace payloads +{ + void + operator<< (::xercesc::DOMElement&, const eiRequestEvent&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EI_REQUEST_EVENT_HXX diff --git a/oadrsd/oadrsd/2b/emailType.cxx b/oadrsd/oadrsd/2b/emailType.cxx new file mode 100644 index 0000000..ca67dd3 --- /dev/null +++ b/oadrsd/oadrsd/2b/emailType.cxx @@ -0,0 +1,196 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "emailType.hxx" + +namespace Atom +{ + // emailType + // +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // emailType + // + + emailType:: + emailType () + : ::xml_schema::normalized_string () + { + } + + emailType:: + emailType (const char* _xsd_normalized_string_base) + : ::xml_schema::normalized_string (_xsd_normalized_string_base) + { + } + + emailType:: + emailType (const ::std::string& _xsd_normalized_string_base) + : ::xml_schema::normalized_string (_xsd_normalized_string_base) + { + } + + emailType:: + emailType (const ::xml_schema::normalized_string& _xsd_normalized_string_base) + : ::xml_schema::normalized_string (_xsd_normalized_string_base) + { + } + + emailType:: + emailType (const emailType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::normalized_string (x, f, c) + { + } + + emailType:: + emailType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::normalized_string (e, f, c) + { + } + + emailType:: + emailType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::normalized_string (a, f, c) + { + } + + emailType:: + emailType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::normalized_string (s, e, f, c) + { + } + + emailType* emailType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class emailType (*this, f, c); + } + + emailType:: + ~emailType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, emailType > + _xsd_emailType_type_factory_init ( + "emailType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const emailType& i) + { + e << static_cast< const ::xml_schema::normalized_string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const emailType& i) + { + a << static_cast< const ::xml_schema::normalized_string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const emailType& i) + { + l << static_cast< const ::xml_schema::normalized_string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, emailType > + _xsd_emailType_type_serializer_init ( + "emailType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/emailType.hxx b/oadrsd/oadrsd/2b/emailType.hxx new file mode 100644 index 0000000..646c286 --- /dev/null +++ b/oadrsd/oadrsd/2b/emailType.hxx @@ -0,0 +1,350 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EMAIL_TYPE_HXX +#define EMAIL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class emailType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class emailType: public ::xml_schema::normalized_string + { + public: + // Constructors. + // + emailType (); + + emailType (const char*); + + emailType (const ::std::string&); + + emailType (const ::xml_schema::normalized_string&); + + emailType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + emailType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + emailType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + emailType (const emailType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual emailType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + virtual + ~emailType (); + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const emailType&); + + void + operator<< (::xercesc::DOMAttr&, const emailType&); + + void + operator<< (::xml_schema::list_stream&, + const emailType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EMAIL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/entryType.cxx b/oadrsd/oadrsd/2b/entryType.cxx new file mode 100644 index 0000000..12af01c --- /dev/null +++ b/oadrsd/oadrsd/2b/entryType.cxx @@ -0,0 +1,1205 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "entryType.hxx" + +#include "personType.hxx" + +#include "categoryType.hxx" + +#include "contentType.hxx" + +#include "idType.hxx" + +#include "linkType.hxx" + +#include "dateTimeType1.hxx" + +#include "textType.hxx" + +namespace Atom +{ + // entryType + // + + const entryType::author_sequence& entryType:: + author () const + { + return this->author_; + } + + entryType::author_sequence& entryType:: + author () + { + return this->author_; + } + + void entryType:: + author (const author_sequence& s) + { + this->author_ = s; + } + + const entryType::category_sequence& entryType:: + category () const + { + return this->category_; + } + + entryType::category_sequence& entryType:: + category () + { + return this->category_; + } + + void entryType:: + category (const category_sequence& s) + { + this->category_ = s; + } + + const entryType::content_sequence& entryType:: + content () const + { + return this->content_; + } + + entryType::content_sequence& entryType:: + content () + { + return this->content_; + } + + void entryType:: + content (const content_sequence& s) + { + this->content_ = s; + } + + const entryType::contributor_sequence& entryType:: + contributor () const + { + return this->contributor_; + } + + entryType::contributor_sequence& entryType:: + contributor () + { + return this->contributor_; + } + + void entryType:: + contributor (const contributor_sequence& s) + { + this->contributor_ = s; + } + + const entryType::id_sequence& entryType:: + id () const + { + return this->id_; + } + + entryType::id_sequence& entryType:: + id () + { + return this->id_; + } + + void entryType:: + id (const id_sequence& s) + { + this->id_ = s; + } + + const entryType::link_sequence& entryType:: + link () const + { + return this->link_; + } + + entryType::link_sequence& entryType:: + link () + { + return this->link_; + } + + void entryType:: + link (const link_sequence& s) + { + this->link_ = s; + } + + const entryType::published_sequence& entryType:: + published () const + { + return this->published_; + } + + entryType::published_sequence& entryType:: + published () + { + return this->published_; + } + + void entryType:: + published (const published_sequence& s) + { + this->published_ = s; + } + + const entryType::rights_sequence& entryType:: + rights () const + { + return this->rights_; + } + + entryType::rights_sequence& entryType:: + rights () + { + return this->rights_; + } + + void entryType:: + rights (const rights_sequence& s) + { + this->rights_ = s; + } + + const entryType::source_sequence& entryType:: + source () const + { + return this->source_; + } + + entryType::source_sequence& entryType:: + source () + { + return this->source_; + } + + void entryType:: + source (const source_sequence& s) + { + this->source_ = s; + } + + const entryType::summary_sequence& entryType:: + summary () const + { + return this->summary_; + } + + entryType::summary_sequence& entryType:: + summary () + { + return this->summary_; + } + + void entryType:: + summary (const summary_sequence& s) + { + this->summary_ = s; + } + + const entryType::title_sequence& entryType:: + title () const + { + return this->title_; + } + + entryType::title_sequence& entryType:: + title () + { + return this->title_; + } + + void entryType:: + title (const title_sequence& s) + { + this->title_ = s; + } + + const entryType::updated_sequence& entryType:: + updated () const + { + return this->updated_; + } + + entryType::updated_sequence& entryType:: + updated () + { + return this->updated_; + } + + void entryType:: + updated (const updated_sequence& s) + { + this->updated_ = s; + } + + const entryType::base_optional& entryType:: + base () const + { + return this->base_; + } + + entryType::base_optional& entryType:: + base () + { + return this->base_; + } + + void entryType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void entryType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void entryType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const entryType::lang_optional& entryType:: + lang () const + { + return this->lang_; + } + + entryType::lang_optional& entryType:: + lang () + { + return this->lang_; + } + + void entryType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void entryType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void entryType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // entryType + // + + entryType:: + entryType () + : ::xml_schema::type (), + author_ (this), + category_ (this), + content_ (this), + contributor_ (this), + id_ (this), + link_ (this), + published_ (this), + rights_ (this), + source_ (this), + summary_ (this), + title_ (this), + updated_ (this), + base_ (this), + lang_ (this) + { + } + + entryType:: + entryType (const entryType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + author_ (x.author_, f, this), + category_ (x.category_, f, this), + content_ (x.content_, f, this), + contributor_ (x.contributor_, f, this), + id_ (x.id_, f, this), + link_ (x.link_, f, this), + published_ (x.published_, f, this), + rights_ (x.rights_, f, this), + source_ (x.source_, f, this), + summary_ (x.summary_, f, this), + title_ (x.title_, f, this), + updated_ (x.updated_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + entryType:: + entryType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + author_ (this), + category_ (this), + content_ (this), + contributor_ (this), + id_ (this), + link_ (this), + published_ (this), + rights_ (this), + source_ (this), + summary_ (this), + title_ (this), + updated_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void entryType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // author + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "author", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< author_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< author_type > r ( + dynamic_cast< author_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->author_.push_back (r); + continue; + } + } + + // category + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "category", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< category_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< category_type > r ( + dynamic_cast< category_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->category_.push_back (r); + continue; + } + } + + // content + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "content", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< content_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< content_type > r ( + dynamic_cast< content_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->content_.push_back (r); + continue; + } + } + + // contributor + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "contributor", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< contributor_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< contributor_type > r ( + dynamic_cast< contributor_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->contributor_.push_back (r); + continue; + } + } + + // id + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "id", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< id_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< id_type > r ( + dynamic_cast< id_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->id_.push_back (r); + continue; + } + } + + // link + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "link", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< link_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< link_type > r ( + dynamic_cast< link_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->link_.push_back (r); + continue; + } + } + + // published + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "published", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< published_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< published_type > r ( + dynamic_cast< published_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->published_.push_back (r); + continue; + } + } + + // rights + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rights", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< rights_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< rights_type > r ( + dynamic_cast< rights_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rights_.push_back (r); + continue; + } + } + + // source + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "source", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< source_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< source_type > r ( + dynamic_cast< source_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->source_.push_back (r); + continue; + } + } + + // summary + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "summary", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< summary_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< summary_type > r ( + dynamic_cast< summary_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->summary_.push_back (r); + continue; + } + } + + // title + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "title", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< title_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< title_type > r ( + dynamic_cast< title_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->title_.push_back (r); + continue; + } + } + + // updated + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "updated", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< updated_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< updated_type > r ( + dynamic_cast< updated_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->updated_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + entryType* entryType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class entryType (*this, f, c); + } + + entryType& entryType:: + operator= (const entryType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->author_ = x.author_; + this->category_ = x.category_; + this->content_ = x.content_; + this->contributor_ = x.contributor_; + this->id_ = x.id_; + this->link_ = x.link_; + this->published_ = x.published_; + this->rights_ = x.rights_; + this->source_ = x.source_; + this->summary_ = x.summary_; + this->title_ = x.title_; + this->updated_ = x.updated_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + entryType:: + ~entryType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, entryType > + _xsd_entryType_type_factory_init ( + "entryType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const entryType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // author + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::author_const_iterator + b (i.author ().begin ()), n (i.author ().end ()); + b != n; ++b) + { + if (typeid (entryType::author_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "author", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "author", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // category + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::category_const_iterator + b (i.category ().begin ()), n (i.category ().end ()); + b != n; ++b) + { + if (typeid (entryType::category_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "category", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "category", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // content + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::content_const_iterator + b (i.content ().begin ()), n (i.content ().end ()); + b != n; ++b) + { + if (typeid (entryType::content_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "content", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "content", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // contributor + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::contributor_const_iterator + b (i.contributor ().begin ()), n (i.contributor ().end ()); + b != n; ++b) + { + if (typeid (entryType::contributor_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "contributor", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "contributor", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // id + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::id_const_iterator + b (i.id ().begin ()), n (i.id ().end ()); + b != n; ++b) + { + if (typeid (entryType::id_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "id", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "id", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // link + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::link_const_iterator + b (i.link ().begin ()), n (i.link ().end ()); + b != n; ++b) + { + if (typeid (entryType::link_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "link", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "link", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // published + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::published_const_iterator + b (i.published ().begin ()), n (i.published ().end ()); + b != n; ++b) + { + if (typeid (entryType::published_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "published", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "published", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // rights + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::rights_const_iterator + b (i.rights ().begin ()), n (i.rights ().end ()); + b != n; ++b) + { + if (typeid (entryType::rights_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rights", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "rights", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // source + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::source_const_iterator + b (i.source ().begin ()), n (i.source ().end ()); + b != n; ++b) + { + if (typeid (entryType::source_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "source", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "source", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // summary + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::summary_const_iterator + b (i.summary ().begin ()), n (i.summary ().end ()); + b != n; ++b) + { + if (typeid (entryType::summary_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "summary", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "summary", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // title + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::title_const_iterator + b (i.title ().begin ()), n (i.title ().end ()); + b != n; ++b) + { + if (typeid (entryType::title_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "title", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "title", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // updated + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (entryType::updated_const_iterator + b (i.updated ().begin ()), n (i.updated ().end ()); + b != n; ++b) + { + if (typeid (entryType::updated_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "updated", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "updated", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, entryType > + _xsd_entryType_type_serializer_init ( + "entryType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/entryType.hxx b/oadrsd/oadrsd/2b/entryType.hxx new file mode 100644 index 0000000..bb16d0a --- /dev/null +++ b/oadrsd/oadrsd/2b/entryType.hxx @@ -0,0 +1,635 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ENTRY_TYPE_HXX +#define ENTRY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class entryType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class personType; +} + +namespace Atom +{ + class categoryType; +} + +namespace Atom +{ + class contentType; +} + +namespace Atom +{ + class idType; +} + +namespace Atom +{ + class linkType; +} + +namespace Atom +{ + class dateTimeType; +} + +namespace Atom +{ + class textType; +} + +namespace Atom +{ + class entryType: public ::xml_schema::type + { + public: + // author + // + typedef ::Atom::personType author_type; + typedef ::xsd::cxx::tree::sequence< author_type > author_sequence; + typedef author_sequence::iterator author_iterator; + typedef author_sequence::const_iterator author_const_iterator; + typedef ::xsd::cxx::tree::traits< author_type, char > author_traits; + + const author_sequence& + author () const; + + author_sequence& + author (); + + void + author (const author_sequence& s); + + // category + // + typedef ::Atom::categoryType category_type; + typedef ::xsd::cxx::tree::sequence< category_type > category_sequence; + typedef category_sequence::iterator category_iterator; + typedef category_sequence::const_iterator category_const_iterator; + typedef ::xsd::cxx::tree::traits< category_type, char > category_traits; + + const category_sequence& + category () const; + + category_sequence& + category (); + + void + category (const category_sequence& s); + + // content + // + typedef ::Atom::contentType content_type; + typedef ::xsd::cxx::tree::sequence< content_type > content_sequence; + typedef content_sequence::iterator content_iterator; + typedef content_sequence::const_iterator content_const_iterator; + typedef ::xsd::cxx::tree::traits< content_type, char > content_traits; + + const content_sequence& + content () const; + + content_sequence& + content (); + + void + content (const content_sequence& s); + + // contributor + // + typedef ::Atom::personType contributor_type; + typedef ::xsd::cxx::tree::sequence< contributor_type > contributor_sequence; + typedef contributor_sequence::iterator contributor_iterator; + typedef contributor_sequence::const_iterator contributor_const_iterator; + typedef ::xsd::cxx::tree::traits< contributor_type, char > contributor_traits; + + const contributor_sequence& + contributor () const; + + contributor_sequence& + contributor (); + + void + contributor (const contributor_sequence& s); + + // id + // + typedef ::Atom::idType id_type; + typedef ::xsd::cxx::tree::sequence< id_type > id_sequence; + typedef id_sequence::iterator id_iterator; + typedef id_sequence::const_iterator id_const_iterator; + typedef ::xsd::cxx::tree::traits< id_type, char > id_traits; + + const id_sequence& + id () const; + + id_sequence& + id (); + + void + id (const id_sequence& s); + + // link + // + typedef ::Atom::linkType link_type; + typedef ::xsd::cxx::tree::sequence< link_type > link_sequence; + typedef link_sequence::iterator link_iterator; + typedef link_sequence::const_iterator link_const_iterator; + typedef ::xsd::cxx::tree::traits< link_type, char > link_traits; + + const link_sequence& + link () const; + + link_sequence& + link (); + + void + link (const link_sequence& s); + + // published + // + typedef ::Atom::dateTimeType published_type; + typedef ::xsd::cxx::tree::sequence< published_type > published_sequence; + typedef published_sequence::iterator published_iterator; + typedef published_sequence::const_iterator published_const_iterator; + typedef ::xsd::cxx::tree::traits< published_type, char > published_traits; + + const published_sequence& + published () const; + + published_sequence& + published (); + + void + published (const published_sequence& s); + + // rights + // + typedef ::Atom::textType rights_type; + typedef ::xsd::cxx::tree::sequence< rights_type > rights_sequence; + typedef rights_sequence::iterator rights_iterator; + typedef rights_sequence::const_iterator rights_const_iterator; + typedef ::xsd::cxx::tree::traits< rights_type, char > rights_traits; + + const rights_sequence& + rights () const; + + rights_sequence& + rights (); + + void + rights (const rights_sequence& s); + + // source + // + typedef ::Atom::textType source_type; + typedef ::xsd::cxx::tree::sequence< source_type > source_sequence; + typedef source_sequence::iterator source_iterator; + typedef source_sequence::const_iterator source_const_iterator; + typedef ::xsd::cxx::tree::traits< source_type, char > source_traits; + + const source_sequence& + source () const; + + source_sequence& + source (); + + void + source (const source_sequence& s); + + // summary + // + typedef ::Atom::textType summary_type; + typedef ::xsd::cxx::tree::sequence< summary_type > summary_sequence; + typedef summary_sequence::iterator summary_iterator; + typedef summary_sequence::const_iterator summary_const_iterator; + typedef ::xsd::cxx::tree::traits< summary_type, char > summary_traits; + + const summary_sequence& + summary () const; + + summary_sequence& + summary (); + + void + summary (const summary_sequence& s); + + // title + // + typedef ::Atom::textType title_type; + typedef ::xsd::cxx::tree::sequence< title_type > title_sequence; + typedef title_sequence::iterator title_iterator; + typedef title_sequence::const_iterator title_const_iterator; + typedef ::xsd::cxx::tree::traits< title_type, char > title_traits; + + const title_sequence& + title () const; + + title_sequence& + title (); + + void + title (const title_sequence& s); + + // updated + // + typedef ::Atom::dateTimeType updated_type; + typedef ::xsd::cxx::tree::sequence< updated_type > updated_sequence; + typedef updated_sequence::iterator updated_iterator; + typedef updated_sequence::const_iterator updated_const_iterator; + typedef ::xsd::cxx::tree::traits< updated_type, char > updated_traits; + + const updated_sequence& + updated () const; + + updated_sequence& + updated (); + + void + updated (const updated_sequence& s); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + entryType (); + + entryType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + entryType (const entryType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual entryType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + entryType& + operator= (const entryType& x); + + virtual + ~entryType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + author_sequence author_; + category_sequence category_; + content_sequence content_; + contributor_sequence contributor_; + id_sequence id_; + link_sequence link_; + published_sequence published_; + rights_sequence rights_; + source_sequence source_; + summary_sequence summary_; + title_sequence title_; + updated_sequence updated_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const entryType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ENTRY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eventDescriptorType.cxx b/oadrsd/oadrsd/2b/eventDescriptorType.cxx new file mode 100644 index 0000000..b9afebe --- /dev/null +++ b/oadrsd/oadrsd/2b/eventDescriptorType.cxx @@ -0,0 +1,1022 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eventDescriptorType.hxx" + +#include "DateTimeType.hxx" + +#include "eiMarketContext.hxx" + +#include "EventStatusEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eventDescriptorType + // + + const eventDescriptorType::eventID_type& eventDescriptorType:: + eventID () const + { + return this->eventID_.get (); + } + + eventDescriptorType::eventID_type& eventDescriptorType:: + eventID () + { + return this->eventID_.get (); + } + + void eventDescriptorType:: + eventID (const eventID_type& x) + { + this->eventID_.set (x); + } + + void eventDescriptorType:: + eventID (::std::auto_ptr< eventID_type > x) + { + this->eventID_.set (x); + } + + const eventDescriptorType::modificationNumber_type& eventDescriptorType:: + modificationNumber () const + { + return this->modificationNumber_.get (); + } + + eventDescriptorType::modificationNumber_type& eventDescriptorType:: + modificationNumber () + { + return this->modificationNumber_.get (); + } + + void eventDescriptorType:: + modificationNumber (const modificationNumber_type& x) + { + this->modificationNumber_.set (x); + } + + const eventDescriptorType::modificationDateTime_optional& eventDescriptorType:: + modificationDateTime () const + { + return this->modificationDateTime_; + } + + eventDescriptorType::modificationDateTime_optional& eventDescriptorType:: + modificationDateTime () + { + return this->modificationDateTime_; + } + + void eventDescriptorType:: + modificationDateTime (const modificationDateTime_type& x) + { + this->modificationDateTime_.set (x); + } + + void eventDescriptorType:: + modificationDateTime (const modificationDateTime_optional& x) + { + this->modificationDateTime_ = x; + } + + void eventDescriptorType:: + modificationDateTime (::std::auto_ptr< modificationDateTime_type > x) + { + this->modificationDateTime_.set (x); + } + + const eventDescriptorType::modificationReason_optional& eventDescriptorType:: + modificationReason () const + { + return this->modificationReason_; + } + + eventDescriptorType::modificationReason_optional& eventDescriptorType:: + modificationReason () + { + return this->modificationReason_; + } + + void eventDescriptorType:: + modificationReason (const modificationReason_type& x) + { + this->modificationReason_.set (x); + } + + void eventDescriptorType:: + modificationReason (const modificationReason_optional& x) + { + this->modificationReason_ = x; + } + + void eventDescriptorType:: + modificationReason (::std::auto_ptr< modificationReason_type > x) + { + this->modificationReason_.set (x); + } + + const eventDescriptorType::priority_optional& eventDescriptorType:: + priority () const + { + return this->priority_; + } + + eventDescriptorType::priority_optional& eventDescriptorType:: + priority () + { + return this->priority_; + } + + void eventDescriptorType:: + priority (const priority_type& x) + { + this->priority_.set (x); + } + + void eventDescriptorType:: + priority (const priority_optional& x) + { + this->priority_ = x; + } + + const eventDescriptorType::eiMarketContext_type& eventDescriptorType:: + eiMarketContext () const + { + return this->eiMarketContext_.get (); + } + + eventDescriptorType::eiMarketContext_type& eventDescriptorType:: + eiMarketContext () + { + return this->eiMarketContext_.get (); + } + + void eventDescriptorType:: + eiMarketContext (const eiMarketContext_type& x) + { + this->eiMarketContext_.set (x); + } + + void eventDescriptorType:: + eiMarketContext (::std::auto_ptr< eiMarketContext_type > x) + { + this->eiMarketContext_.set (x); + } + + const eventDescriptorType::createdDateTime_type& eventDescriptorType:: + createdDateTime () const + { + return this->createdDateTime_.get (); + } + + eventDescriptorType::createdDateTime_type& eventDescriptorType:: + createdDateTime () + { + return this->createdDateTime_.get (); + } + + void eventDescriptorType:: + createdDateTime (const createdDateTime_type& x) + { + this->createdDateTime_.set (x); + } + + void eventDescriptorType:: + createdDateTime (::std::auto_ptr< createdDateTime_type > x) + { + this->createdDateTime_.set (x); + } + + const eventDescriptorType::eventStatus_type& eventDescriptorType:: + eventStatus () const + { + return this->eventStatus_.get (); + } + + eventDescriptorType::eventStatus_type& eventDescriptorType:: + eventStatus () + { + return this->eventStatus_.get (); + } + + void eventDescriptorType:: + eventStatus (const eventStatus_type& x) + { + this->eventStatus_.set (x); + } + + void eventDescriptorType:: + eventStatus (::std::auto_ptr< eventStatus_type > x) + { + this->eventStatus_.set (x); + } + + const eventDescriptorType::testEvent_optional& eventDescriptorType:: + testEvent () const + { + return this->testEvent_; + } + + eventDescriptorType::testEvent_optional& eventDescriptorType:: + testEvent () + { + return this->testEvent_; + } + + void eventDescriptorType:: + testEvent (const testEvent_type& x) + { + this->testEvent_.set (x); + } + + void eventDescriptorType:: + testEvent (const testEvent_optional& x) + { + this->testEvent_ = x; + } + + void eventDescriptorType:: + testEvent (::std::auto_ptr< testEvent_type > x) + { + this->testEvent_.set (x); + } + + const eventDescriptorType::vtnComment_optional& eventDescriptorType:: + vtnComment () const + { + return this->vtnComment_; + } + + eventDescriptorType::vtnComment_optional& eventDescriptorType:: + vtnComment () + { + return this->vtnComment_; + } + + void eventDescriptorType:: + vtnComment (const vtnComment_type& x) + { + this->vtnComment_.set (x); + } + + void eventDescriptorType:: + vtnComment (const vtnComment_optional& x) + { + this->vtnComment_ = x; + } + + void eventDescriptorType:: + vtnComment (::std::auto_ptr< vtnComment_type > x) + { + this->vtnComment_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eventDescriptorType + // + + eventDescriptorType:: + eventDescriptorType (const eventID_type& eventID, + const modificationNumber_type& modificationNumber, + const eiMarketContext_type& eiMarketContext, + const createdDateTime_type& createdDateTime, + const eventStatus_type& eventStatus) + : ::xml_schema::type (), + eventID_ (eventID, this), + modificationNumber_ (modificationNumber, this), + modificationDateTime_ (this), + modificationReason_ (this), + priority_ (this), + eiMarketContext_ (eiMarketContext, this), + createdDateTime_ (createdDateTime, this), + eventStatus_ (eventStatus, this), + testEvent_ (this), + vtnComment_ (this) + { + } + + eventDescriptorType:: + eventDescriptorType (const eventID_type& eventID, + const modificationNumber_type& modificationNumber, + ::std::auto_ptr< eiMarketContext_type > eiMarketContext, + const createdDateTime_type& createdDateTime, + const eventStatus_type& eventStatus) + : ::xml_schema::type (), + eventID_ (eventID, this), + modificationNumber_ (modificationNumber, this), + modificationDateTime_ (this), + modificationReason_ (this), + priority_ (this), + eiMarketContext_ (eiMarketContext, this), + createdDateTime_ (createdDateTime, this), + eventStatus_ (eventStatus, this), + testEvent_ (this), + vtnComment_ (this) + { + } + + eventDescriptorType:: + eventDescriptorType (::std::auto_ptr< eventID_type > eventID, + const modificationNumber_type& modificationNumber, + ::std::auto_ptr< eiMarketContext_type > eiMarketContext, + ::std::auto_ptr< createdDateTime_type > createdDateTime, + ::std::auto_ptr< eventStatus_type > eventStatus) + : ::xml_schema::type (), + eventID_ (eventID, this), + modificationNumber_ (modificationNumber, this), + modificationDateTime_ (this), + modificationReason_ (this), + priority_ (this), + eiMarketContext_ (eiMarketContext, this), + createdDateTime_ (createdDateTime, this), + eventStatus_ (eventStatus, this), + testEvent_ (this), + vtnComment_ (this) + { + } + + eventDescriptorType:: + eventDescriptorType (const eventDescriptorType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eventID_ (x.eventID_, f, this), + modificationNumber_ (x.modificationNumber_, f, this), + modificationDateTime_ (x.modificationDateTime_, f, this), + modificationReason_ (x.modificationReason_, f, this), + priority_ (x.priority_, f, this), + eiMarketContext_ (x.eiMarketContext_, f, this), + createdDateTime_ (x.createdDateTime_, f, this), + eventStatus_ (x.eventStatus_, f, this), + testEvent_ (x.testEvent_, f, this), + vtnComment_ (x.vtnComment_, f, this) + { + } + + eventDescriptorType:: + eventDescriptorType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eventID_ (this), + modificationNumber_ (this), + modificationDateTime_ (this), + modificationReason_ (this), + priority_ (this), + eiMarketContext_ (this), + createdDateTime_ (this), + eventStatus_ (this), + testEvent_ (this), + vtnComment_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eventDescriptorType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eventID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eventID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eventID_.present ()) + { + ::std::auto_ptr< eventID_type > r ( + dynamic_cast< eventID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eventID_.set (r); + continue; + } + } + } + + // modificationNumber + // + if (n.name () == "modificationNumber" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + if (!modificationNumber_.present ()) + { + this->modificationNumber_.set (modificationNumber_traits::create (i, f, this)); + continue; + } + } + + // modificationDateTime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "modificationDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< modificationDateTime_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->modificationDateTime_) + { + ::std::auto_ptr< modificationDateTime_type > r ( + dynamic_cast< modificationDateTime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->modificationDateTime_.set (r); + continue; + } + } + } + + // modificationReason + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "modificationReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< modificationReason_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->modificationReason_) + { + ::std::auto_ptr< modificationReason_type > r ( + dynamic_cast< modificationReason_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->modificationReason_.set (r); + continue; + } + } + } + + // priority + // + if (n.name () == "priority" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + if (!this->priority_) + { + this->priority_.set (priority_traits::create (i, f, this)); + continue; + } + } + + // eiMarketContext + // + if (n.name () == "eiMarketContext" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< eiMarketContext_type > r ( + eiMarketContext_traits::create (i, f, this)); + + if (!eiMarketContext_.present ()) + { + this->eiMarketContext_.set (r); + continue; + } + } + + // createdDateTime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< createdDateTime_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!createdDateTime_.present ()) + { + ::std::auto_ptr< createdDateTime_type > r ( + dynamic_cast< createdDateTime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->createdDateTime_.set (r); + continue; + } + } + } + + // eventStatus + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eventStatus_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eventStatus_.present ()) + { + ::std::auto_ptr< eventStatus_type > r ( + dynamic_cast< eventStatus_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eventStatus_.set (r); + continue; + } + } + } + + // testEvent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "testEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< testEvent_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->testEvent_) + { + ::std::auto_ptr< testEvent_type > r ( + dynamic_cast< testEvent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->testEvent_.set (r); + continue; + } + } + } + + // vtnComment + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vtnComment", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< vtnComment_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->vtnComment_) + { + ::std::auto_ptr< vtnComment_type > r ( + dynamic_cast< vtnComment_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->vtnComment_.set (r); + continue; + } + } + } + + break; + } + + if (!eventID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!modificationNumber_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!eiMarketContext_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiMarketContext", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!createdDateTime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!eventStatus_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eventDescriptorType* eventDescriptorType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eventDescriptorType (*this, f, c); + } + + eventDescriptorType& eventDescriptorType:: + operator= (const eventDescriptorType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eventID_ = x.eventID_; + this->modificationNumber_ = x.modificationNumber_; + this->modificationDateTime_ = x.modificationDateTime_; + this->modificationReason_ = x.modificationReason_; + this->priority_ = x.priority_; + this->eiMarketContext_ = x.eiMarketContext_; + this->createdDateTime_ = x.createdDateTime_; + this->eventStatus_ = x.eventStatus_; + this->testEvent_ = x.testEvent_; + this->vtnComment_ = x.vtnComment_; + } + + return *this; + } + + eventDescriptorType:: + ~eventDescriptorType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, eventDescriptorType > + _xsd_eventDescriptorType_type_factory_init ( + "eventDescriptorType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eventDescriptorType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eventID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventDescriptorType::eventID_type& x (i.eventID ()); + if (typeid (eventDescriptorType::eventID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // modificationNumber + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << i.modificationNumber (); + } + + // modificationDateTime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.modificationDateTime ()) + { + const eventDescriptorType::modificationDateTime_type& x (*i.modificationDateTime ()); + if (typeid (eventDescriptorType::modificationDateTime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "modificationDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "modificationDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + } + + // modificationReason + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.modificationReason ()) + { + const eventDescriptorType::modificationReason_type& x (*i.modificationReason ()); + if (typeid (eventDescriptorType::modificationReason_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "modificationReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "modificationReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + } + + // priority + // + if (i.priority ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "priority", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *i.priority (); + } + + // eiMarketContext + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiMarketContext", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << i.eiMarketContext (); + } + + // createdDateTime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventDescriptorType::createdDateTime_type& x (i.createdDateTime ()); + if (typeid (eventDescriptorType::createdDateTime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // eventStatus + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventDescriptorType::eventStatus_type& x (i.eventStatus ()); + if (typeid (eventDescriptorType::eventStatus_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // testEvent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.testEvent ()) + { + const eventDescriptorType::testEvent_type& x (*i.testEvent ()); + if (typeid (eventDescriptorType::testEvent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "testEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "testEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + } + + // vtnComment + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.vtnComment ()) + { + const eventDescriptorType::vtnComment_type& x (*i.vtnComment ()); + if (typeid (eventDescriptorType::vtnComment_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "vtnComment", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "vtnComment", + "http://docs.oasis-open.org/ns/energyinterop/201110", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, eventDescriptorType > + _xsd_eventDescriptorType_type_serializer_init ( + "eventDescriptorType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eventDescriptorType.hxx b/oadrsd/oadrsd/2b/eventDescriptorType.hxx new file mode 100644 index 0000000..286cec9 --- /dev/null +++ b/oadrsd/oadrsd/2b/eventDescriptorType.hxx @@ -0,0 +1,583 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EVENT_DESCRIPTOR_TYPE_HXX +#define EVENT_DESCRIPTOR_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eventDescriptorType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DateTimeType; +} + +namespace oadr2b +{ + namespace ei + { + class eiMarketContext; + } +} + +namespace oadr2b +{ + namespace ei + { + class EventStatusEnumeratedType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eventDescriptorType: public ::xml_schema::type + { + public: + // eventID + // + typedef ::xml_schema::string eventID_type; + typedef ::xsd::cxx::tree::traits< eventID_type, char > eventID_traits; + + const eventID_type& + eventID () const; + + eventID_type& + eventID (); + + void + eventID (const eventID_type& x); + + void + eventID (::std::auto_ptr< eventID_type > p); + + // modificationNumber + // + typedef ::xml_schema::unsigned_int modificationNumber_type; + typedef ::xsd::cxx::tree::traits< modificationNumber_type, char > modificationNumber_traits; + + const modificationNumber_type& + modificationNumber () const; + + modificationNumber_type& + modificationNumber (); + + void + modificationNumber (const modificationNumber_type& x); + + // modificationDateTime + // + typedef ::icalendar_2_0::DateTimeType modificationDateTime_type; + typedef ::xsd::cxx::tree::optional< modificationDateTime_type > modificationDateTime_optional; + typedef ::xsd::cxx::tree::traits< modificationDateTime_type, char > modificationDateTime_traits; + + const modificationDateTime_optional& + modificationDateTime () const; + + modificationDateTime_optional& + modificationDateTime (); + + void + modificationDateTime (const modificationDateTime_type& x); + + void + modificationDateTime (const modificationDateTime_optional& x); + + void + modificationDateTime (::std::auto_ptr< modificationDateTime_type > p); + + // modificationReason + // + typedef ::xml_schema::string modificationReason_type; + typedef ::xsd::cxx::tree::optional< modificationReason_type > modificationReason_optional; + typedef ::xsd::cxx::tree::traits< modificationReason_type, char > modificationReason_traits; + + const modificationReason_optional& + modificationReason () const; + + modificationReason_optional& + modificationReason (); + + void + modificationReason (const modificationReason_type& x); + + void + modificationReason (const modificationReason_optional& x); + + void + modificationReason (::std::auto_ptr< modificationReason_type > p); + + // priority + // + typedef ::xml_schema::unsigned_int priority_type; + typedef ::xsd::cxx::tree::optional< priority_type > priority_optional; + typedef ::xsd::cxx::tree::traits< priority_type, char > priority_traits; + + const priority_optional& + priority () const; + + priority_optional& + priority (); + + void + priority (const priority_type& x); + + void + priority (const priority_optional& x); + + // eiMarketContext + // + typedef ::oadr2b::ei::eiMarketContext eiMarketContext_type; + typedef ::xsd::cxx::tree::traits< eiMarketContext_type, char > eiMarketContext_traits; + + const eiMarketContext_type& + eiMarketContext () const; + + eiMarketContext_type& + eiMarketContext (); + + void + eiMarketContext (const eiMarketContext_type& x); + + void + eiMarketContext (::std::auto_ptr< eiMarketContext_type > p); + + // createdDateTime + // + typedef ::icalendar_2_0::DateTimeType createdDateTime_type; + typedef ::xsd::cxx::tree::traits< createdDateTime_type, char > createdDateTime_traits; + + const createdDateTime_type& + createdDateTime () const; + + createdDateTime_type& + createdDateTime (); + + void + createdDateTime (const createdDateTime_type& x); + + void + createdDateTime (::std::auto_ptr< createdDateTime_type > p); + + // eventStatus + // + typedef ::oadr2b::ei::EventStatusEnumeratedType eventStatus_type; + typedef ::xsd::cxx::tree::traits< eventStatus_type, char > eventStatus_traits; + + const eventStatus_type& + eventStatus () const; + + eventStatus_type& + eventStatus (); + + void + eventStatus (const eventStatus_type& x); + + void + eventStatus (::std::auto_ptr< eventStatus_type > p); + + // testEvent + // + typedef ::xml_schema::string testEvent_type; + typedef ::xsd::cxx::tree::optional< testEvent_type > testEvent_optional; + typedef ::xsd::cxx::tree::traits< testEvent_type, char > testEvent_traits; + + const testEvent_optional& + testEvent () const; + + testEvent_optional& + testEvent (); + + void + testEvent (const testEvent_type& x); + + void + testEvent (const testEvent_optional& x); + + void + testEvent (::std::auto_ptr< testEvent_type > p); + + // vtnComment + // + typedef ::xml_schema::string vtnComment_type; + typedef ::xsd::cxx::tree::optional< vtnComment_type > vtnComment_optional; + typedef ::xsd::cxx::tree::traits< vtnComment_type, char > vtnComment_traits; + + const vtnComment_optional& + vtnComment () const; + + vtnComment_optional& + vtnComment (); + + void + vtnComment (const vtnComment_type& x); + + void + vtnComment (const vtnComment_optional& x); + + void + vtnComment (::std::auto_ptr< vtnComment_type > p); + + // Constructors. + // + eventDescriptorType (const eventID_type&, + const modificationNumber_type&, + const eiMarketContext_type&, + const createdDateTime_type&, + const eventStatus_type&); + + eventDescriptorType (const eventID_type&, + const modificationNumber_type&, + ::std::auto_ptr< eiMarketContext_type >, + const createdDateTime_type&, + const eventStatus_type&); + + eventDescriptorType (::std::auto_ptr< eventID_type >, + const modificationNumber_type&, + ::std::auto_ptr< eiMarketContext_type >, + ::std::auto_ptr< createdDateTime_type >, + ::std::auto_ptr< eventStatus_type >); + + eventDescriptorType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eventDescriptorType (const eventDescriptorType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eventDescriptorType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eventDescriptorType& + operator= (const eventDescriptorType& x); + + virtual + ~eventDescriptorType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eventID_type > eventID_; + ::xsd::cxx::tree::one< modificationNumber_type > modificationNumber_; + modificationDateTime_optional modificationDateTime_; + modificationReason_optional modificationReason_; + priority_optional priority_; + ::xsd::cxx::tree::one< eiMarketContext_type > eiMarketContext_; + ::xsd::cxx::tree::one< createdDateTime_type > createdDateTime_; + ::xsd::cxx::tree::one< eventStatus_type > eventStatus_; + testEvent_optional testEvent_; + vtnComment_optional vtnComment_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eventDescriptorType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EVENT_DESCRIPTOR_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/eventResponse.cxx b/oadrsd/oadrsd/2b/eventResponse.cxx new file mode 100644 index 0000000..41669da --- /dev/null +++ b/oadrsd/oadrsd/2b/eventResponse.cxx @@ -0,0 +1,652 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eventResponse.hxx" + +#include "ResponseCodeType.hxx" + +#include "QualifiedEventIDType.hxx" + +#include "OptTypeType.hxx" + +namespace oadr2b +{ + namespace ei + { + // eventResponse + // + + const eventResponse::responseCode_type& eventResponse:: + responseCode () const + { + return this->responseCode_.get (); + } + + eventResponse::responseCode_type& eventResponse:: + responseCode () + { + return this->responseCode_.get (); + } + + void eventResponse:: + responseCode (const responseCode_type& x) + { + this->responseCode_.set (x); + } + + void eventResponse:: + responseCode (::std::auto_ptr< responseCode_type > x) + { + this->responseCode_.set (x); + } + + const eventResponse::responseDescription_optional& eventResponse:: + responseDescription () const + { + return this->responseDescription_; + } + + eventResponse::responseDescription_optional& eventResponse:: + responseDescription () + { + return this->responseDescription_; + } + + void eventResponse:: + responseDescription (const responseDescription_type& x) + { + this->responseDescription_.set (x); + } + + void eventResponse:: + responseDescription (const responseDescription_optional& x) + { + this->responseDescription_ = x; + } + + void eventResponse:: + responseDescription (::std::auto_ptr< responseDescription_type > x) + { + this->responseDescription_.set (x); + } + + const eventResponse::requestID_type& eventResponse:: + requestID () const + { + return this->requestID_.get (); + } + + eventResponse::requestID_type& eventResponse:: + requestID () + { + return this->requestID_.get (); + } + + void eventResponse:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void eventResponse:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const eventResponse::qualifiedEventID_type& eventResponse:: + qualifiedEventID () const + { + return this->qualifiedEventID_.get (); + } + + eventResponse::qualifiedEventID_type& eventResponse:: + qualifiedEventID () + { + return this->qualifiedEventID_.get (); + } + + void eventResponse:: + qualifiedEventID (const qualifiedEventID_type& x) + { + this->qualifiedEventID_.set (x); + } + + void eventResponse:: + qualifiedEventID (::std::auto_ptr< qualifiedEventID_type > x) + { + this->qualifiedEventID_.set (x); + } + + const eventResponse::optType_type& eventResponse:: + optType () const + { + return this->optType_.get (); + } + + eventResponse::optType_type& eventResponse:: + optType () + { + return this->optType_.get (); + } + + void eventResponse:: + optType (const optType_type& x) + { + this->optType_.set (x); + } + + void eventResponse:: + optType (::std::auto_ptr< optType_type > x) + { + this->optType_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eventResponse + // + + eventResponse:: + eventResponse (const responseCode_type& responseCode, + const requestID_type& requestID, + const qualifiedEventID_type& qualifiedEventID, + const optType_type& optType) + : ::xml_schema::type (), + responseCode_ (responseCode, this), + responseDescription_ (this), + requestID_ (requestID, this), + qualifiedEventID_ (qualifiedEventID, this), + optType_ (optType, this) + { + } + + eventResponse:: + eventResponse (const responseCode_type& responseCode, + const requestID_type& requestID, + ::std::auto_ptr< qualifiedEventID_type > qualifiedEventID, + const optType_type& optType) + : ::xml_schema::type (), + responseCode_ (responseCode, this), + responseDescription_ (this), + requestID_ (requestID, this), + qualifiedEventID_ (qualifiedEventID, this), + optType_ (optType, this) + { + } + + eventResponse:: + eventResponse (::std::auto_ptr< responseCode_type > responseCode, + ::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< qualifiedEventID_type > qualifiedEventID, + ::std::auto_ptr< optType_type > optType) + : ::xml_schema::type (), + responseCode_ (responseCode, this), + responseDescription_ (this), + requestID_ (requestID, this), + qualifiedEventID_ (qualifiedEventID, this), + optType_ (optType, this) + { + } + + eventResponse:: + eventResponse (const eventResponse& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + responseCode_ (x.responseCode_, f, this), + responseDescription_ (x.responseDescription_, f, this), + requestID_ (x.requestID_, f, this), + qualifiedEventID_ (x.qualifiedEventID_, f, this), + optType_ (x.optType_, f, this) + { + } + + eventResponse:: + eventResponse (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + responseCode_ (this), + responseDescription_ (this), + requestID_ (this), + qualifiedEventID_ (this), + optType_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eventResponse:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // responseCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< responseCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!responseCode_.present ()) + { + ::std::auto_ptr< responseCode_type > r ( + dynamic_cast< responseCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->responseCode_.set (r); + continue; + } + } + } + + // responseDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< responseDescription_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->responseDescription_) + { + ::std::auto_ptr< responseDescription_type > r ( + dynamic_cast< responseDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->responseDescription_.set (r); + continue; + } + } + } + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // qualifiedEventID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< qualifiedEventID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!qualifiedEventID_.present ()) + { + ::std::auto_ptr< qualifiedEventID_type > r ( + dynamic_cast< qualifiedEventID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->qualifiedEventID_.set (r); + continue; + } + } + } + + // optType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optType_.present ()) + { + ::std::auto_ptr< optType_type > r ( + dynamic_cast< optType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optType_.set (r); + continue; + } + } + } + + break; + } + + if (!responseCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!qualifiedEventID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!optType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + eventResponse* eventResponse:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eventResponse (*this, f, c); + } + + eventResponse& eventResponse:: + operator= (const eventResponse& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->responseCode_ = x.responseCode_; + this->responseDescription_ = x.responseDescription_; + this->requestID_ = x.requestID_; + this->qualifiedEventID_ = x.qualifiedEventID_; + this->optType_ = x.optType_; + } + + return *this; + } + + eventResponse:: + ~eventResponse () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eventResponse& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // responseCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventResponse::responseCode_type& x (i.responseCode ()); + if (typeid (eventResponse::responseCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // responseDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.responseDescription ()) + { + const eventResponse::responseDescription_type& x (*i.responseDescription ()); + if (typeid (eventResponse::responseDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventResponse::requestID_type& x (i.requestID ()); + if (typeid (eventResponse::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // qualifiedEventID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventResponse::qualifiedEventID_type& x (i.qualifiedEventID ()); + if (typeid (eventResponse::qualifiedEventID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // optType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const eventResponse::optType_type& x (i.optType ()); + if (typeid (eventResponse::optType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eventResponse.hxx b/oadrsd/oadrsd/2b/eventResponse.hxx new file mode 100644 index 0000000..cb2d35c --- /dev/null +++ b/oadrsd/oadrsd/2b/eventResponse.hxx @@ -0,0 +1,483 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EVENT_RESPONSE_HXX +#define EVENT_RESPONSE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eventResponse; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ResponseCodeType; + } +} + +namespace oadr2b +{ + namespace ei + { + class QualifiedEventIDType; + } +} + +namespace oadr2b +{ + namespace ei + { + class OptTypeType; + } +} + +namespace oadr2b +{ + namespace ei + { + class eventResponse: public ::xml_schema::type + { + public: + // responseCode + // + typedef ::oadr2b::ei::ResponseCodeType responseCode_type; + typedef ::xsd::cxx::tree::traits< responseCode_type, char > responseCode_traits; + + const responseCode_type& + responseCode () const; + + responseCode_type& + responseCode (); + + void + responseCode (const responseCode_type& x); + + void + responseCode (::std::auto_ptr< responseCode_type > p); + + // responseDescription + // + typedef ::xml_schema::string responseDescription_type; + typedef ::xsd::cxx::tree::optional< responseDescription_type > responseDescription_optional; + typedef ::xsd::cxx::tree::traits< responseDescription_type, char > responseDescription_traits; + + const responseDescription_optional& + responseDescription () const; + + responseDescription_optional& + responseDescription (); + + void + responseDescription (const responseDescription_type& x); + + void + responseDescription (const responseDescription_optional& x); + + void + responseDescription (::std::auto_ptr< responseDescription_type > p); + + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // qualifiedEventID + // + typedef ::oadr2b::ei::QualifiedEventIDType qualifiedEventID_type; + typedef ::xsd::cxx::tree::traits< qualifiedEventID_type, char > qualifiedEventID_traits; + + const qualifiedEventID_type& + qualifiedEventID () const; + + qualifiedEventID_type& + qualifiedEventID (); + + void + qualifiedEventID (const qualifiedEventID_type& x); + + void + qualifiedEventID (::std::auto_ptr< qualifiedEventID_type > p); + + // optType + // + typedef ::oadr2b::ei::OptTypeType optType_type; + typedef ::xsd::cxx::tree::traits< optType_type, char > optType_traits; + + const optType_type& + optType () const; + + optType_type& + optType (); + + void + optType (const optType_type& x); + + void + optType (::std::auto_ptr< optType_type > p); + + // Constructors. + // + eventResponse (const responseCode_type&, + const requestID_type&, + const qualifiedEventID_type&, + const optType_type&); + + eventResponse (const responseCode_type&, + const requestID_type&, + ::std::auto_ptr< qualifiedEventID_type >, + const optType_type&); + + eventResponse (::std::auto_ptr< responseCode_type >, + ::std::auto_ptr< requestID_type >, + ::std::auto_ptr< qualifiedEventID_type >, + ::std::auto_ptr< optType_type >); + + eventResponse (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eventResponse (const eventResponse& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eventResponse* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eventResponse& + operator= (const eventResponse& x); + + virtual + ~eventResponse (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< responseCode_type > responseCode_; + responseDescription_optional responseDescription_; + ::xsd::cxx::tree::one< requestID_type > requestID_; + ::xsd::cxx::tree::one< qualifiedEventID_type > qualifiedEventID_; + ::xsd::cxx::tree::one< optType_type > optType_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eventResponse&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EVENT_RESPONSE_HXX diff --git a/oadrsd/oadrsd/2b/eventResponses.cxx b/oadrsd/oadrsd/2b/eventResponses.cxx new file mode 100644 index 0000000..813829d --- /dev/null +++ b/oadrsd/oadrsd/2b/eventResponses.cxx @@ -0,0 +1,228 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "eventResponses.hxx" + +#include "eventResponse.hxx" + +namespace oadr2b +{ + namespace ei + { + // eventResponses + // + + const eventResponses::eventResponse_sequence& eventResponses:: + eventResponse () const + { + return this->eventResponse_; + } + + eventResponses::eventResponse_sequence& eventResponses:: + eventResponse () + { + return this->eventResponse_; + } + + void eventResponses:: + eventResponse (const eventResponse_sequence& s) + { + this->eventResponse_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // eventResponses + // + + eventResponses:: + eventResponses () + : ::xml_schema::type (), + eventResponse_ (this) + { + } + + eventResponses:: + eventResponses (const eventResponses& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eventResponse_ (x.eventResponse_, f, this) + { + } + + eventResponses:: + eventResponses (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eventResponse_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void eventResponses:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eventResponse + // + if (n.name () == "eventResponse" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< eventResponse_type > r ( + eventResponse_traits::create (i, f, this)); + + this->eventResponse_.push_back (r); + continue; + } + + break; + } + } + + eventResponses* eventResponses:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class eventResponses (*this, f, c); + } + + eventResponses& eventResponses:: + operator= (const eventResponses& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eventResponse_ = x.eventResponse_; + } + + return *this; + } + + eventResponses:: + ~eventResponses () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const eventResponses& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eventResponse + // + for (eventResponses::eventResponse_const_iterator + b (i.eventResponse ().begin ()), n (i.eventResponse ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eventResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/eventResponses.hxx b/oadrsd/oadrsd/2b/eventResponses.hxx new file mode 100644 index 0000000..0fb5cb4 --- /dev/null +++ b/oadrsd/oadrsd/2b/eventResponses.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EVENT_RESPONSES_HXX +#define EVENT_RESPONSES_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class eventResponses; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class eventResponse; + } +} + +namespace oadr2b +{ + namespace ei + { + class eventResponses: public ::xml_schema::type + { + public: + // eventResponse + // + typedef ::oadr2b::ei::eventResponse eventResponse_type; + typedef ::xsd::cxx::tree::sequence< eventResponse_type > eventResponse_sequence; + typedef eventResponse_sequence::iterator eventResponse_iterator; + typedef eventResponse_sequence::const_iterator eventResponse_const_iterator; + typedef ::xsd::cxx::tree::traits< eventResponse_type, char > eventResponse_traits; + + const eventResponse_sequence& + eventResponse () const; + + eventResponse_sequence& + eventResponse (); + + void + eventResponse (const eventResponse_sequence& s); + + // Constructors. + // + eventResponses (); + + eventResponses (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + eventResponses (const eventResponses& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual eventResponses* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + eventResponses& + operator= (const eventResponses& x); + + virtual + ~eventResponses (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + eventResponse_sequence eventResponse_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const eventResponses&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EVENT_RESPONSES_HXX diff --git a/oadrsd/oadrsd/2b/exterior.cxx b/oadrsd/oadrsd/2b/exterior.cxx new file mode 100644 index 0000000..bbe6293 --- /dev/null +++ b/oadrsd/oadrsd/2b/exterior.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "exterior.hxx" + +#include "LinearRing.hxx" + +namespace oadr2b +{ + namespace gml + { + // exterior + // + + const exterior::LinearRing_type& exterior:: + LinearRing () const + { + return this->LinearRing_.get (); + } + + exterior::LinearRing_type& exterior:: + LinearRing () + { + return this->LinearRing_.get (); + } + + void exterior:: + LinearRing (const LinearRing_type& x) + { + this->LinearRing_.set (x); + } + + void exterior:: + LinearRing (::std::auto_ptr< LinearRing_type > x) + { + this->LinearRing_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // exterior + // + + exterior:: + exterior (const LinearRing_type& LinearRing) + : ::xml_schema::type (), + LinearRing_ (LinearRing, this) + { + } + + exterior:: + exterior (::std::auto_ptr< LinearRing_type > LinearRing) + : ::xml_schema::type (), + LinearRing_ (LinearRing, this) + { + } + + exterior:: + exterior (const exterior& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + LinearRing_ (x.LinearRing_, f, this) + { + } + + exterior:: + exterior (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + LinearRing_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void exterior:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // LinearRing + // + if (n.name () == "LinearRing" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< LinearRing_type > r ( + LinearRing_traits::create (i, f, this)); + + if (!LinearRing_.present ()) + { + this->LinearRing_.set (r); + continue; + } + } + + break; + } + + if (!LinearRing_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "LinearRing", + "http://www.opengis.net/gml/3.2"); + } + } + + exterior* exterior:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class exterior (*this, f, c); + } + + exterior& exterior:: + operator= (const exterior& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->LinearRing_ = x.LinearRing_; + } + + return *this; + } + + exterior:: + ~exterior () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const exterior& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // LinearRing + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "LinearRing", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.LinearRing (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/exterior.hxx b/oadrsd/oadrsd/2b/exterior.hxx new file mode 100644 index 0000000..c7c5532 --- /dev/null +++ b/oadrsd/oadrsd/2b/exterior.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef EXTERIOR_HXX +#define EXTERIOR_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class exterior; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class LinearRing; + } +} + +namespace oadr2b +{ + namespace gml + { + class exterior: public ::xml_schema::type + { + public: + // LinearRing + // + typedef ::oadr2b::gml::LinearRing LinearRing_type; + typedef ::xsd::cxx::tree::traits< LinearRing_type, char > LinearRing_traits; + + const LinearRing_type& + LinearRing () const; + + LinearRing_type& + LinearRing (); + + void + LinearRing (const LinearRing_type& x); + + void + LinearRing (::std::auto_ptr< LinearRing_type > p); + + // Constructors. + // + exterior (const LinearRing_type&); + + exterior (::std::auto_ptr< LinearRing_type >); + + exterior (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + exterior (const exterior& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual exterior* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + exterior& + operator= (const exterior& x); + + virtual + ~exterior (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< LinearRing_type > LinearRing_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const exterior&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // EXTERIOR_HXX diff --git a/oadrsd/oadrsd/2b/feedType.cxx b/oadrsd/oadrsd/2b/feedType.cxx new file mode 100644 index 0000000..f35b293 --- /dev/null +++ b/oadrsd/oadrsd/2b/feedType.cxx @@ -0,0 +1,1286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "feedType.hxx" + +#include "personType.hxx" + +#include "categoryType.hxx" + +#include "generatorType.hxx" + +#include "iconType.hxx" + +#include "idType.hxx" + +#include "linkType.hxx" + +#include "logoType.hxx" + +#include "textType.hxx" + +#include "dateTimeType1.hxx" + +#include "entryType.hxx" + +namespace Atom +{ + // feedType + // + + const feedType::author_sequence& feedType:: + author () const + { + return this->author_; + } + + feedType::author_sequence& feedType:: + author () + { + return this->author_; + } + + void feedType:: + author (const author_sequence& s) + { + this->author_ = s; + } + + const feedType::category_sequence& feedType:: + category () const + { + return this->category_; + } + + feedType::category_sequence& feedType:: + category () + { + return this->category_; + } + + void feedType:: + category (const category_sequence& s) + { + this->category_ = s; + } + + const feedType::contributor_sequence& feedType:: + contributor () const + { + return this->contributor_; + } + + feedType::contributor_sequence& feedType:: + contributor () + { + return this->contributor_; + } + + void feedType:: + contributor (const contributor_sequence& s) + { + this->contributor_ = s; + } + + const feedType::generator_sequence& feedType:: + generator () const + { + return this->generator_; + } + + feedType::generator_sequence& feedType:: + generator () + { + return this->generator_; + } + + void feedType:: + generator (const generator_sequence& s) + { + this->generator_ = s; + } + + const feedType::icon_sequence& feedType:: + icon () const + { + return this->icon_; + } + + feedType::icon_sequence& feedType:: + icon () + { + return this->icon_; + } + + void feedType:: + icon (const icon_sequence& s) + { + this->icon_ = s; + } + + const feedType::id_sequence& feedType:: + id () const + { + return this->id_; + } + + feedType::id_sequence& feedType:: + id () + { + return this->id_; + } + + void feedType:: + id (const id_sequence& s) + { + this->id_ = s; + } + + const feedType::link_sequence& feedType:: + link () const + { + return this->link_; + } + + feedType::link_sequence& feedType:: + link () + { + return this->link_; + } + + void feedType:: + link (const link_sequence& s) + { + this->link_ = s; + } + + const feedType::logo_sequence& feedType:: + logo () const + { + return this->logo_; + } + + feedType::logo_sequence& feedType:: + logo () + { + return this->logo_; + } + + void feedType:: + logo (const logo_sequence& s) + { + this->logo_ = s; + } + + const feedType::rights_sequence& feedType:: + rights () const + { + return this->rights_; + } + + feedType::rights_sequence& feedType:: + rights () + { + return this->rights_; + } + + void feedType:: + rights (const rights_sequence& s) + { + this->rights_ = s; + } + + const feedType::subtitle_sequence& feedType:: + subtitle () const + { + return this->subtitle_; + } + + feedType::subtitle_sequence& feedType:: + subtitle () + { + return this->subtitle_; + } + + void feedType:: + subtitle (const subtitle_sequence& s) + { + this->subtitle_ = s; + } + + const feedType::title_sequence& feedType:: + title () const + { + return this->title_; + } + + feedType::title_sequence& feedType:: + title () + { + return this->title_; + } + + void feedType:: + title (const title_sequence& s) + { + this->title_ = s; + } + + const feedType::updated_sequence& feedType:: + updated () const + { + return this->updated_; + } + + feedType::updated_sequence& feedType:: + updated () + { + return this->updated_; + } + + void feedType:: + updated (const updated_sequence& s) + { + this->updated_ = s; + } + + const feedType::entry_sequence& feedType:: + entry () const + { + return this->entry_; + } + + feedType::entry_sequence& feedType:: + entry () + { + return this->entry_; + } + + void feedType:: + entry (const entry_sequence& s) + { + this->entry_ = s; + } + + const feedType::base_optional& feedType:: + base () const + { + return this->base_; + } + + feedType::base_optional& feedType:: + base () + { + return this->base_; + } + + void feedType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void feedType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void feedType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const feedType::lang_optional& feedType:: + lang () const + { + return this->lang_; + } + + feedType::lang_optional& feedType:: + lang () + { + return this->lang_; + } + + void feedType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void feedType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void feedType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // feedType + // + + feedType:: + feedType () + : ::xml_schema::type (), + author_ (this), + category_ (this), + contributor_ (this), + generator_ (this), + icon_ (this), + id_ (this), + link_ (this), + logo_ (this), + rights_ (this), + subtitle_ (this), + title_ (this), + updated_ (this), + entry_ (this), + base_ (this), + lang_ (this) + { + } + + feedType:: + feedType (const feedType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + author_ (x.author_, f, this), + category_ (x.category_, f, this), + contributor_ (x.contributor_, f, this), + generator_ (x.generator_, f, this), + icon_ (x.icon_, f, this), + id_ (x.id_, f, this), + link_ (x.link_, f, this), + logo_ (x.logo_, f, this), + rights_ (x.rights_, f, this), + subtitle_ (x.subtitle_, f, this), + title_ (x.title_, f, this), + updated_ (x.updated_, f, this), + entry_ (x.entry_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + feedType:: + feedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + author_ (this), + category_ (this), + contributor_ (this), + generator_ (this), + icon_ (this), + id_ (this), + link_ (this), + logo_ (this), + rights_ (this), + subtitle_ (this), + title_ (this), + updated_ (this), + entry_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void feedType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // author + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "author", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< author_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< author_type > r ( + dynamic_cast< author_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->author_.push_back (r); + continue; + } + } + + // category + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "category", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< category_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< category_type > r ( + dynamic_cast< category_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->category_.push_back (r); + continue; + } + } + + // contributor + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "contributor", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< contributor_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< contributor_type > r ( + dynamic_cast< contributor_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->contributor_.push_back (r); + continue; + } + } + + // generator + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "generator", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< generator_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< generator_type > r ( + dynamic_cast< generator_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->generator_.push_back (r); + continue; + } + } + + // icon + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "icon", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< icon_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< icon_type > r ( + dynamic_cast< icon_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->icon_.push_back (r); + continue; + } + } + + // id + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "id", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< id_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< id_type > r ( + dynamic_cast< id_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->id_.push_back (r); + continue; + } + } + + // link + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "link", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< link_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< link_type > r ( + dynamic_cast< link_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->link_.push_back (r); + continue; + } + } + + // logo + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "logo", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< logo_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< logo_type > r ( + dynamic_cast< logo_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->logo_.push_back (r); + continue; + } + } + + // rights + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rights", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< rights_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< rights_type > r ( + dynamic_cast< rights_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rights_.push_back (r); + continue; + } + } + + // subtitle + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "subtitle", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< subtitle_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< subtitle_type > r ( + dynamic_cast< subtitle_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->subtitle_.push_back (r); + continue; + } + } + + // title + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "title", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< title_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< title_type > r ( + dynamic_cast< title_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->title_.push_back (r); + continue; + } + } + + // updated + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "updated", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< updated_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< updated_type > r ( + dynamic_cast< updated_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->updated_.push_back (r); + continue; + } + } + + // entry + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "entry", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< entry_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< entry_type > r ( + dynamic_cast< entry_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->entry_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + feedType* feedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class feedType (*this, f, c); + } + + feedType& feedType:: + operator= (const feedType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->author_ = x.author_; + this->category_ = x.category_; + this->contributor_ = x.contributor_; + this->generator_ = x.generator_; + this->icon_ = x.icon_; + this->id_ = x.id_; + this->link_ = x.link_; + this->logo_ = x.logo_; + this->rights_ = x.rights_; + this->subtitle_ = x.subtitle_; + this->title_ = x.title_; + this->updated_ = x.updated_; + this->entry_ = x.entry_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + feedType:: + ~feedType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, feedType > + _xsd_feedType_type_factory_init ( + "feedType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const feedType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // author + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::author_const_iterator + b (i.author ().begin ()), n (i.author ().end ()); + b != n; ++b) + { + if (typeid (feedType::author_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "author", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "author", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // category + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::category_const_iterator + b (i.category ().begin ()), n (i.category ().end ()); + b != n; ++b) + { + if (typeid (feedType::category_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "category", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "category", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // contributor + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::contributor_const_iterator + b (i.contributor ().begin ()), n (i.contributor ().end ()); + b != n; ++b) + { + if (typeid (feedType::contributor_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "contributor", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "contributor", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // generator + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::generator_const_iterator + b (i.generator ().begin ()), n (i.generator ().end ()); + b != n; ++b) + { + if (typeid (feedType::generator_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "generator", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "generator", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // icon + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::icon_const_iterator + b (i.icon ().begin ()), n (i.icon ().end ()); + b != n; ++b) + { + if (typeid (feedType::icon_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "icon", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "icon", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // id + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::id_const_iterator + b (i.id ().begin ()), n (i.id ().end ()); + b != n; ++b) + { + if (typeid (feedType::id_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "id", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "id", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // link + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::link_const_iterator + b (i.link ().begin ()), n (i.link ().end ()); + b != n; ++b) + { + if (typeid (feedType::link_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "link", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "link", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // logo + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::logo_const_iterator + b (i.logo ().begin ()), n (i.logo ().end ()); + b != n; ++b) + { + if (typeid (feedType::logo_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "logo", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "logo", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // rights + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::rights_const_iterator + b (i.rights ().begin ()), n (i.rights ().end ()); + b != n; ++b) + { + if (typeid (feedType::rights_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rights", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "rights", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // subtitle + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::subtitle_const_iterator + b (i.subtitle ().begin ()), n (i.subtitle ().end ()); + b != n; ++b) + { + if (typeid (feedType::subtitle_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "subtitle", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "subtitle", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // title + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::title_const_iterator + b (i.title ().begin ()), n (i.title ().end ()); + b != n; ++b) + { + if (typeid (feedType::title_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "title", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "title", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // updated + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::updated_const_iterator + b (i.updated ().begin ()), n (i.updated ().end ()); + b != n; ++b) + { + if (typeid (feedType::updated_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "updated", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "updated", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // entry + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (feedType::entry_const_iterator + b (i.entry ().begin ()), n (i.entry ().end ()); + b != n; ++b) + { + if (typeid (feedType::entry_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "entry", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "entry", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, feedType > + _xsd_feedType_type_serializer_init ( + "feedType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/feedType.hxx b/oadrsd/oadrsd/2b/feedType.hxx new file mode 100644 index 0000000..630b39c --- /dev/null +++ b/oadrsd/oadrsd/2b/feedType.hxx @@ -0,0 +1,668 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef FEED_TYPE_HXX +#define FEED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class feedType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class personType; +} + +namespace Atom +{ + class categoryType; +} + +namespace Atom +{ + class generatorType; +} + +namespace Atom +{ + class iconType; +} + +namespace Atom +{ + class idType; +} + +namespace Atom +{ + class linkType; +} + +namespace Atom +{ + class logoType; +} + +namespace Atom +{ + class textType; +} + +namespace Atom +{ + class dateTimeType; +} + +namespace Atom +{ + class entryType; +} + +namespace Atom +{ + class feedType: public ::xml_schema::type + { + public: + // author + // + typedef ::Atom::personType author_type; + typedef ::xsd::cxx::tree::sequence< author_type > author_sequence; + typedef author_sequence::iterator author_iterator; + typedef author_sequence::const_iterator author_const_iterator; + typedef ::xsd::cxx::tree::traits< author_type, char > author_traits; + + const author_sequence& + author () const; + + author_sequence& + author (); + + void + author (const author_sequence& s); + + // category + // + typedef ::Atom::categoryType category_type; + typedef ::xsd::cxx::tree::sequence< category_type > category_sequence; + typedef category_sequence::iterator category_iterator; + typedef category_sequence::const_iterator category_const_iterator; + typedef ::xsd::cxx::tree::traits< category_type, char > category_traits; + + const category_sequence& + category () const; + + category_sequence& + category (); + + void + category (const category_sequence& s); + + // contributor + // + typedef ::Atom::personType contributor_type; + typedef ::xsd::cxx::tree::sequence< contributor_type > contributor_sequence; + typedef contributor_sequence::iterator contributor_iterator; + typedef contributor_sequence::const_iterator contributor_const_iterator; + typedef ::xsd::cxx::tree::traits< contributor_type, char > contributor_traits; + + const contributor_sequence& + contributor () const; + + contributor_sequence& + contributor (); + + void + contributor (const contributor_sequence& s); + + // generator + // + typedef ::Atom::generatorType generator_type; + typedef ::xsd::cxx::tree::sequence< generator_type > generator_sequence; + typedef generator_sequence::iterator generator_iterator; + typedef generator_sequence::const_iterator generator_const_iterator; + typedef ::xsd::cxx::tree::traits< generator_type, char > generator_traits; + + const generator_sequence& + generator () const; + + generator_sequence& + generator (); + + void + generator (const generator_sequence& s); + + // icon + // + typedef ::Atom::iconType icon_type; + typedef ::xsd::cxx::tree::sequence< icon_type > icon_sequence; + typedef icon_sequence::iterator icon_iterator; + typedef icon_sequence::const_iterator icon_const_iterator; + typedef ::xsd::cxx::tree::traits< icon_type, char > icon_traits; + + const icon_sequence& + icon () const; + + icon_sequence& + icon (); + + void + icon (const icon_sequence& s); + + // id + // + typedef ::Atom::idType id_type; + typedef ::xsd::cxx::tree::sequence< id_type > id_sequence; + typedef id_sequence::iterator id_iterator; + typedef id_sequence::const_iterator id_const_iterator; + typedef ::xsd::cxx::tree::traits< id_type, char > id_traits; + + const id_sequence& + id () const; + + id_sequence& + id (); + + void + id (const id_sequence& s); + + // link + // + typedef ::Atom::linkType link_type; + typedef ::xsd::cxx::tree::sequence< link_type > link_sequence; + typedef link_sequence::iterator link_iterator; + typedef link_sequence::const_iterator link_const_iterator; + typedef ::xsd::cxx::tree::traits< link_type, char > link_traits; + + const link_sequence& + link () const; + + link_sequence& + link (); + + void + link (const link_sequence& s); + + // logo + // + typedef ::Atom::logoType logo_type; + typedef ::xsd::cxx::tree::sequence< logo_type > logo_sequence; + typedef logo_sequence::iterator logo_iterator; + typedef logo_sequence::const_iterator logo_const_iterator; + typedef ::xsd::cxx::tree::traits< logo_type, char > logo_traits; + + const logo_sequence& + logo () const; + + logo_sequence& + logo (); + + void + logo (const logo_sequence& s); + + // rights + // + typedef ::Atom::textType rights_type; + typedef ::xsd::cxx::tree::sequence< rights_type > rights_sequence; + typedef rights_sequence::iterator rights_iterator; + typedef rights_sequence::const_iterator rights_const_iterator; + typedef ::xsd::cxx::tree::traits< rights_type, char > rights_traits; + + const rights_sequence& + rights () const; + + rights_sequence& + rights (); + + void + rights (const rights_sequence& s); + + // subtitle + // + typedef ::Atom::textType subtitle_type; + typedef ::xsd::cxx::tree::sequence< subtitle_type > subtitle_sequence; + typedef subtitle_sequence::iterator subtitle_iterator; + typedef subtitle_sequence::const_iterator subtitle_const_iterator; + typedef ::xsd::cxx::tree::traits< subtitle_type, char > subtitle_traits; + + const subtitle_sequence& + subtitle () const; + + subtitle_sequence& + subtitle (); + + void + subtitle (const subtitle_sequence& s); + + // title + // + typedef ::Atom::textType title_type; + typedef ::xsd::cxx::tree::sequence< title_type > title_sequence; + typedef title_sequence::iterator title_iterator; + typedef title_sequence::const_iterator title_const_iterator; + typedef ::xsd::cxx::tree::traits< title_type, char > title_traits; + + const title_sequence& + title () const; + + title_sequence& + title (); + + void + title (const title_sequence& s); + + // updated + // + typedef ::Atom::dateTimeType updated_type; + typedef ::xsd::cxx::tree::sequence< updated_type > updated_sequence; + typedef updated_sequence::iterator updated_iterator; + typedef updated_sequence::const_iterator updated_const_iterator; + typedef ::xsd::cxx::tree::traits< updated_type, char > updated_traits; + + const updated_sequence& + updated () const; + + updated_sequence& + updated (); + + void + updated (const updated_sequence& s); + + // entry + // + typedef ::Atom::entryType entry_type; + typedef ::xsd::cxx::tree::sequence< entry_type > entry_sequence; + typedef entry_sequence::iterator entry_iterator; + typedef entry_sequence::const_iterator entry_const_iterator; + typedef ::xsd::cxx::tree::traits< entry_type, char > entry_traits; + + const entry_sequence& + entry () const; + + entry_sequence& + entry (); + + void + entry (const entry_sequence& s); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + feedType (); + + feedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + feedType (const feedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual feedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + feedType& + operator= (const feedType& x); + + virtual + ~feedType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + author_sequence author_; + category_sequence category_; + contributor_sequence contributor_; + generator_sequence generator_; + icon_sequence icon_; + id_sequence id_; + link_sequence link_; + logo_sequence logo_; + rights_sequence rights_; + subtitle_sequence subtitle_; + title_sequence title_; + updated_sequence updated_; + entry_sequence entry_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const feedType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // FEED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/generatorType.cxx b/oadrsd/oadrsd/2b/generatorType.cxx new file mode 100644 index 0000000..a423517 --- /dev/null +++ b/oadrsd/oadrsd/2b/generatorType.cxx @@ -0,0 +1,416 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "generatorType.hxx" + +namespace Atom +{ + // generatorType + // + + const generatorType::uri_optional& generatorType:: + uri () const + { + return this->uri_; + } + + generatorType::uri_optional& generatorType:: + uri () + { + return this->uri_; + } + + void generatorType:: + uri (const uri_type& x) + { + this->uri_.set (x); + } + + void generatorType:: + uri (const uri_optional& x) + { + this->uri_ = x; + } + + void generatorType:: + uri (::std::auto_ptr< uri_type > x) + { + this->uri_.set (x); + } + + const generatorType::version_optional& generatorType:: + version () const + { + return this->version_; + } + + generatorType::version_optional& generatorType:: + version () + { + return this->version_; + } + + void generatorType:: + version (const version_type& x) + { + this->version_.set (x); + } + + void generatorType:: + version (const version_optional& x) + { + this->version_ = x; + } + + void generatorType:: + version (::std::auto_ptr< version_type > x) + { + this->version_.set (x); + } + + const generatorType::base_optional& generatorType:: + base () const + { + return this->base_; + } + + generatorType::base_optional& generatorType:: + base () + { + return this->base_; + } + + void generatorType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void generatorType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void generatorType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const generatorType::lang_optional& generatorType:: + lang () const + { + return this->lang_; + } + + generatorType::lang_optional& generatorType:: + lang () + { + return this->lang_; + } + + void generatorType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void generatorType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void generatorType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // generatorType + // + + generatorType:: + generatorType () + : ::xml_schema::string (), + uri_ (this), + version_ (this), + base_ (this), + lang_ (this) + { + } + + generatorType:: + generatorType (const char* _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + uri_ (this), + version_ (this), + base_ (this), + lang_ (this) + { + } + + generatorType:: + generatorType (const ::std::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + uri_ (this), + version_ (this), + base_ (this), + lang_ (this) + { + } + + generatorType:: + generatorType (const ::xml_schema::string& _xsd_string_base) + : ::xml_schema::string (_xsd_string_base), + uri_ (this), + version_ (this), + base_ (this), + lang_ (this) + { + } + + generatorType:: + generatorType (const generatorType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (x, f, c), + uri_ (x.uri_, f, this), + version_ (x.version_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + generatorType:: + generatorType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f | ::xml_schema::flags::base, c), + uri_ (this), + version_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void generatorType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "uri" && n.namespace_ ().empty ()) + { + this->uri_.set (uri_traits::create (i, f, this)); + continue; + } + + if (n.name () == "version" && n.namespace_ ().empty ()) + { + this->version_.set (version_traits::create (i, f, this)); + continue; + } + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + generatorType* generatorType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class generatorType (*this, f, c); + } + + generatorType& generatorType:: + operator= (const generatorType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::string& > (*this) = x; + this->uri_ = x.uri_; + this->version_ = x.version_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + generatorType:: + ~generatorType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, generatorType > + _xsd_generatorType_type_factory_init ( + "generatorType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const generatorType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + + // uri + // + if (i.uri ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "uri", + e)); + + a << *i.uri (); + } + + // version + // + if (i.version ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "version", + e)); + + a << *i.version (); + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, generatorType > + _xsd_generatorType_type_serializer_init ( + "generatorType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/generatorType.hxx b/oadrsd/oadrsd/2b/generatorType.hxx new file mode 100644 index 0000000..1cdc32c --- /dev/null +++ b/oadrsd/oadrsd/2b/generatorType.hxx @@ -0,0 +1,434 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef GENERATOR_TYPE_HXX +#define GENERATOR_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class generatorType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class generatorType: public ::xml_schema::string + { + public: + // uri + // + typedef ::xml_schema::uri uri_type; + typedef ::xsd::cxx::tree::optional< uri_type > uri_optional; + typedef ::xsd::cxx::tree::traits< uri_type, char > uri_traits; + + const uri_optional& + uri () const; + + uri_optional& + uri (); + + void + uri (const uri_type& x); + + void + uri (const uri_optional& x); + + void + uri (::std::auto_ptr< uri_type > p); + + // version + // + typedef ::xml_schema::string version_type; + typedef ::xsd::cxx::tree::optional< version_type > version_optional; + typedef ::xsd::cxx::tree::traits< version_type, char > version_traits; + + const version_optional& + version () const; + + version_optional& + version (); + + void + version (const version_type& x); + + void + version (const version_optional& x); + + void + version (::std::auto_ptr< version_type > p); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + generatorType (); + + generatorType (const char*); + + generatorType (const ::std::string&); + + generatorType (const ::xml_schema::string&); + + generatorType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + generatorType (const generatorType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual generatorType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + generatorType& + operator= (const generatorType& x); + + virtual + ~generatorType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + uri_optional uri_; + version_optional version_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const generatorType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // GENERATOR_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/iconType.cxx b/oadrsd/oadrsd/2b/iconType.cxx new file mode 100644 index 0000000..2ea108d --- /dev/null +++ b/oadrsd/oadrsd/2b/iconType.cxx @@ -0,0 +1,282 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "iconType.hxx" + +namespace Atom +{ + // iconType + // + + const iconType::base_optional& iconType:: + base () const + { + return this->base_; + } + + iconType::base_optional& iconType:: + base () + { + return this->base_; + } + + void iconType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void iconType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void iconType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const iconType::lang_optional& iconType:: + lang () const + { + return this->lang_; + } + + iconType::lang_optional& iconType:: + lang () + { + return this->lang_; + } + + void iconType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void iconType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void iconType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // iconType + // + + iconType:: + iconType (const ::xml_schema::uri& _xsd_uri_base) + : ::xml_schema::uri (_xsd_uri_base), + base_ (this), + lang_ (this) + { + } + + iconType:: + iconType (const iconType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (x, f, c), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + iconType:: + iconType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (e, f | ::xml_schema::flags::base, c), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void iconType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + iconType* iconType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class iconType (*this, f, c); + } + + iconType& iconType:: + operator= (const iconType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::uri& > (*this) = x; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + iconType:: + ~iconType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, iconType > + _xsd_iconType_type_factory_init ( + "iconType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const iconType& i) + { + e << static_cast< const ::xml_schema::uri& > (i); + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, iconType > + _xsd_iconType_type_serializer_init ( + "iconType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/iconType.hxx b/oadrsd/oadrsd/2b/iconType.hxx new file mode 100644 index 0000000..1d0207a --- /dev/null +++ b/oadrsd/oadrsd/2b/iconType.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ICON_TYPE_HXX +#define ICON_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class iconType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class iconType: public ::xml_schema::uri + { + public: + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + iconType (const ::xml_schema::uri&); + + iconType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + iconType (const iconType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual iconType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + iconType& + operator= (const iconType& x); + + virtual + ~iconType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const iconType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ICON_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/idType.cxx b/oadrsd/oadrsd/2b/idType.cxx new file mode 100644 index 0000000..a5b1e91 --- /dev/null +++ b/oadrsd/oadrsd/2b/idType.cxx @@ -0,0 +1,282 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "idType.hxx" + +namespace Atom +{ + // idType + // + + const idType::base_optional& idType:: + base () const + { + return this->base_; + } + + idType::base_optional& idType:: + base () + { + return this->base_; + } + + void idType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void idType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void idType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const idType::lang_optional& idType:: + lang () const + { + return this->lang_; + } + + idType::lang_optional& idType:: + lang () + { + return this->lang_; + } + + void idType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void idType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void idType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // idType + // + + idType:: + idType (const ::xml_schema::uri& _xsd_uri_base) + : ::xml_schema::uri (_xsd_uri_base), + base_ (this), + lang_ (this) + { + } + + idType:: + idType (const idType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (x, f, c), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + idType:: + idType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (e, f | ::xml_schema::flags::base, c), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void idType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + idType* idType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class idType (*this, f, c); + } + + idType& idType:: + operator= (const idType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::uri& > (*this) = x; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + idType:: + ~idType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, idType > + _xsd_idType_type_factory_init ( + "idType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const idType& i) + { + e << static_cast< const ::xml_schema::uri& > (i); + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, idType > + _xsd_idType_type_serializer_init ( + "idType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/idType.hxx b/oadrsd/oadrsd/2b/idType.hxx new file mode 100644 index 0000000..05b2eec --- /dev/null +++ b/oadrsd/oadrsd/2b/idType.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef ID_TYPE_HXX +#define ID_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class idType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class idType: public ::xml_schema::uri + { + public: + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + idType (const ::xml_schema::uri&); + + idType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + idType (const idType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual idType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + idType& + operator= (const idType& x); + + virtual + ~idType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const idType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // ID_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/intervals.cxx b/oadrsd/oadrsd/2b/intervals.cxx new file mode 100644 index 0000000..f6e8d4c --- /dev/null +++ b/oadrsd/oadrsd/2b/intervals.cxx @@ -0,0 +1,243 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "intervals.hxx" + +#include "IntervalType.hxx" + +namespace stream +{ + // intervals + // + + const intervals::interval_sequence& intervals:: + interval () const + { + return this->interval_; + } + + intervals::interval_sequence& intervals:: + interval () + { + return this->interval_; + } + + void intervals:: + interval (const interval_sequence& s) + { + this->interval_ = s; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace stream +{ + // intervals + // + + intervals:: + intervals () + : ::xml_schema::type (), + interval_ (this) + { + } + + intervals:: + intervals (const intervals& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + interval_ (x.interval_, f, this) + { + } + + intervals:: + intervals (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + interval_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void intervals:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // interval + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< interval_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< interval_type > r ( + dynamic_cast< interval_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->interval_.push_back (r); + continue; + } + } + + break; + } + } + + intervals* intervals:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class intervals (*this, f, c); + } + + intervals& intervals:: + operator= (const intervals& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->interval_ = x.interval_; + } + + return *this; + } + + intervals:: + ~intervals () + { + } +} + +#include +#include +#include + +namespace stream +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace stream +{ + void + operator<< (::xercesc::DOMElement& e, const intervals& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // interval + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (intervals::interval_const_iterator + b (i.interval ().begin ()), n (i.interval ().end ()); + b != n; ++b) + { + if (typeid (intervals::interval_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/intervals.hxx b/oadrsd/oadrsd/2b/intervals.hxx new file mode 100644 index 0000000..22e6fd1 --- /dev/null +++ b/oadrsd/oadrsd/2b/intervals.hxx @@ -0,0 +1,366 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef INTERVALS_HXX +#define INTERVALS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace stream +{ + class intervals; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class IntervalType; + } +} + +namespace stream +{ + class intervals: public ::xml_schema::type + { + public: + // interval + // + typedef ::oadr2b::ei::IntervalType interval_type; + typedef ::xsd::cxx::tree::sequence< interval_type > interval_sequence; + typedef interval_sequence::iterator interval_iterator; + typedef interval_sequence::const_iterator interval_const_iterator; + typedef ::xsd::cxx::tree::traits< interval_type, char > interval_traits; + + const interval_sequence& + interval () const; + + interval_sequence& + interval (); + + void + interval (const interval_sequence& s); + + // Constructors. + // + intervals (); + + intervals (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + intervals (const intervals& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual intervals* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + intervals& + operator= (const intervals& x); + + virtual + ~intervals (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + interval_sequence interval_; + }; +} + +#include + +#include +#include +#include + +namespace stream +{ +} + +#include + +#include +#include +#include + +#include + +namespace stream +{ + void + operator<< (::xercesc::DOMElement&, const intervals&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // INTERVALS_HXX diff --git a/oadrsd/oadrsd/2b/linkType.cxx b/oadrsd/oadrsd/2b/linkType.cxx new file mode 100644 index 0000000..42675bb --- /dev/null +++ b/oadrsd/oadrsd/2b/linkType.cxx @@ -0,0 +1,588 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "linkType.hxx" + +namespace Atom +{ + // linkType + // + + const linkType::href_type& linkType:: + href () const + { + return this->href_.get (); + } + + linkType::href_type& linkType:: + href () + { + return this->href_.get (); + } + + void linkType:: + href (const href_type& x) + { + this->href_.set (x); + } + + void linkType:: + href (::std::auto_ptr< href_type > x) + { + this->href_.set (x); + } + + const linkType::rel_optional& linkType:: + rel () const + { + return this->rel_; + } + + linkType::rel_optional& linkType:: + rel () + { + return this->rel_; + } + + void linkType:: + rel (const rel_type& x) + { + this->rel_.set (x); + } + + void linkType:: + rel (const rel_optional& x) + { + this->rel_ = x; + } + + void linkType:: + rel (::std::auto_ptr< rel_type > x) + { + this->rel_.set (x); + } + + const linkType::type_optional& linkType:: + type () const + { + return this->type_; + } + + linkType::type_optional& linkType:: + type () + { + return this->type_; + } + + void linkType:: + type (const type_type& x) + { + this->type_.set (x); + } + + void linkType:: + type (const type_optional& x) + { + this->type_ = x; + } + + void linkType:: + type (::std::auto_ptr< type_type > x) + { + this->type_.set (x); + } + + const linkType::hreflang_optional& linkType:: + hreflang () const + { + return this->hreflang_; + } + + linkType::hreflang_optional& linkType:: + hreflang () + { + return this->hreflang_; + } + + void linkType:: + hreflang (const hreflang_type& x) + { + this->hreflang_.set (x); + } + + void linkType:: + hreflang (const hreflang_optional& x) + { + this->hreflang_ = x; + } + + void linkType:: + hreflang (::std::auto_ptr< hreflang_type > x) + { + this->hreflang_.set (x); + } + + const linkType::title_optional& linkType:: + title () const + { + return this->title_; + } + + linkType::title_optional& linkType:: + title () + { + return this->title_; + } + + void linkType:: + title (const title_type& x) + { + this->title_.set (x); + } + + void linkType:: + title (const title_optional& x) + { + this->title_ = x; + } + + void linkType:: + title (::std::auto_ptr< title_type > x) + { + this->title_.set (x); + } + + const linkType::length_optional& linkType:: + length () const + { + return this->length_; + } + + linkType::length_optional& linkType:: + length () + { + return this->length_; + } + + void linkType:: + length (const length_type& x) + { + this->length_.set (x); + } + + void linkType:: + length (const length_optional& x) + { + this->length_ = x; + } + + const linkType::base_optional& linkType:: + base () const + { + return this->base_; + } + + linkType::base_optional& linkType:: + base () + { + return this->base_; + } + + void linkType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void linkType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void linkType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const linkType::lang_optional& linkType:: + lang () const + { + return this->lang_; + } + + linkType::lang_optional& linkType:: + lang () + { + return this->lang_; + } + + void linkType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void linkType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void linkType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // linkType + // + + linkType:: + linkType (const href_type& href) + : ::xml_schema::type (), + href_ (href, this), + rel_ (this), + type_ (this), + hreflang_ (this), + title_ (this), + length_ (this), + base_ (this), + lang_ (this) + { + } + + linkType:: + linkType (const linkType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + href_ (x.href_, f, this), + rel_ (x.rel_, f, this), + type_ (x.type_, f, this), + hreflang_ (x.hreflang_, f, this), + title_ (x.title_, f, this), + length_ (x.length_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + linkType:: + linkType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + href_ (this), + rel_ (this), + type_ (this), + hreflang_ (this), + title_ (this), + length_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void linkType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "href" && n.namespace_ ().empty ()) + { + this->href_.set (href_traits::create (i, f, this)); + continue; + } + + if (n.name () == "rel" && n.namespace_ ().empty ()) + { + this->rel_.set (rel_traits::create (i, f, this)); + continue; + } + + if (n.name () == "type" && n.namespace_ ().empty ()) + { + this->type_.set (type_traits::create (i, f, this)); + continue; + } + + if (n.name () == "hreflang" && n.namespace_ ().empty ()) + { + this->hreflang_.set (hreflang_traits::create (i, f, this)); + continue; + } + + if (n.name () == "title" && n.namespace_ ().empty ()) + { + this->title_.set (title_traits::create (i, f, this)); + continue; + } + + if (n.name () == "length" && n.namespace_ ().empty ()) + { + this->length_.set (length_traits::create (i, f, this)); + continue; + } + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + + if (!href_.present ()) + { + throw ::xsd::cxx::tree::expected_attribute< char > ( + "href", + ""); + } + } + + linkType* linkType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class linkType (*this, f, c); + } + + linkType& linkType:: + operator= (const linkType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->href_ = x.href_; + this->rel_ = x.rel_; + this->type_ = x.type_; + this->hreflang_ = x.hreflang_; + this->title_ = x.title_; + this->length_ = x.length_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + linkType:: + ~linkType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, linkType > + _xsd_linkType_type_factory_init ( + "linkType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const linkType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // href + // + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "href", + e)); + + a << i.href (); + } + + // rel + // + if (i.rel ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "rel", + e)); + + a << *i.rel (); + } + + // type + // + if (i.type ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "type", + e)); + + a << *i.type (); + } + + // hreflang + // + if (i.hreflang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "hreflang", + e)); + + a << *i.hreflang (); + } + + // title + // + if (i.title ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "title", + e)); + + a << *i.title (); + } + + // length + // + if (i.length ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "length", + e)); + + a << *i.length (); + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, linkType > + _xsd_linkType_type_serializer_init ( + "linkType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/linkType.hxx b/oadrsd/oadrsd/2b/linkType.hxx new file mode 100644 index 0000000..ac43759 --- /dev/null +++ b/oadrsd/oadrsd/2b/linkType.hxx @@ -0,0 +1,509 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef LINK_TYPE_HXX +#define LINK_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class linkType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class linkType: public ::xml_schema::type + { + public: + // href + // + typedef ::xml_schema::uri href_type; + typedef ::xsd::cxx::tree::traits< href_type, char > href_traits; + + const href_type& + href () const; + + href_type& + href (); + + void + href (const href_type& x); + + void + href (::std::auto_ptr< href_type > p); + + // rel + // + typedef ::xml_schema::string rel_type; + typedef ::xsd::cxx::tree::optional< rel_type > rel_optional; + typedef ::xsd::cxx::tree::traits< rel_type, char > rel_traits; + + const rel_optional& + rel () const; + + rel_optional& + rel (); + + void + rel (const rel_type& x); + + void + rel (const rel_optional& x); + + void + rel (::std::auto_ptr< rel_type > p); + + // type + // + typedef ::xml_schema::string type_type; + typedef ::xsd::cxx::tree::optional< type_type > type_optional; + typedef ::xsd::cxx::tree::traits< type_type, char > type_traits; + + const type_optional& + type () const; + + type_optional& + type (); + + void + type (const type_type& x); + + void + type (const type_optional& x); + + void + type (::std::auto_ptr< type_type > p); + + // hreflang + // + typedef ::xml_schema::nmtoken hreflang_type; + typedef ::xsd::cxx::tree::optional< hreflang_type > hreflang_optional; + typedef ::xsd::cxx::tree::traits< hreflang_type, char > hreflang_traits; + + const hreflang_optional& + hreflang () const; + + hreflang_optional& + hreflang (); + + void + hreflang (const hreflang_type& x); + + void + hreflang (const hreflang_optional& x); + + void + hreflang (::std::auto_ptr< hreflang_type > p); + + // title + // + typedef ::xml_schema::string title_type; + typedef ::xsd::cxx::tree::optional< title_type > title_optional; + typedef ::xsd::cxx::tree::traits< title_type, char > title_traits; + + const title_optional& + title () const; + + title_optional& + title (); + + void + title (const title_type& x); + + void + title (const title_optional& x); + + void + title (::std::auto_ptr< title_type > p); + + // length + // + typedef ::xml_schema::positive_integer length_type; + typedef ::xsd::cxx::tree::optional< length_type > length_optional; + typedef ::xsd::cxx::tree::traits< length_type, char > length_traits; + + const length_optional& + length () const; + + length_optional& + length (); + + void + length (const length_type& x); + + void + length (const length_optional& x); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + linkType (const href_type&); + + linkType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + linkType (const linkType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual linkType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + linkType& + operator= (const linkType& x); + + virtual + ~linkType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< href_type > href_; + rel_optional rel_; + type_optional type_; + hreflang_optional hreflang_; + title_optional title_; + length_optional length_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const linkType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // LINK_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/location.cxx b/oadrsd/oadrsd/2b/location.cxx new file mode 100644 index 0000000..7b2a098 --- /dev/null +++ b/oadrsd/oadrsd/2b/location.cxx @@ -0,0 +1,248 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "location.hxx" + +#include "Polygon.hxx" + +namespace oadr2b +{ + namespace gml + { + // location + // + + const location::Polygon_type& location:: + Polygon () const + { + return this->Polygon_.get (); + } + + location::Polygon_type& location:: + Polygon () + { + return this->Polygon_.get (); + } + + void location:: + Polygon (const Polygon_type& x) + { + this->Polygon_.set (x); + } + + void location:: + Polygon (::std::auto_ptr< Polygon_type > x) + { + this->Polygon_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + // location + // + + location:: + location (const Polygon_type& Polygon) + : ::xml_schema::type (), + Polygon_ (Polygon, this) + { + } + + location:: + location (::std::auto_ptr< Polygon_type > Polygon) + : ::xml_schema::type (), + Polygon_ (Polygon, this) + { + } + + location:: + location (const location& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Polygon_ (x.Polygon_, f, this) + { + } + + location:: + location (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Polygon_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void location:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Polygon + // + if (n.name () == "Polygon" && n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< Polygon_type > r ( + Polygon_traits::create (i, f, this)); + + if (!Polygon_.present ()) + { + this->Polygon_.set (r); + continue; + } + } + + break; + } + + if (!Polygon_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "Polygon", + "http://www.opengis.net/gml/3.2"); + } + } + + location* location:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class location (*this, f, c); + } + + location& location:: + operator= (const location& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Polygon_ = x.Polygon_; + } + + return *this; + } + + location:: + ~location () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement& e, const location& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Polygon + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Polygon", + "http://www.opengis.net/gml/3.2", + e)); + + s << i.Polygon (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/location.hxx b/oadrsd/oadrsd/2b/location.hxx new file mode 100644 index 0000000..fffce5c --- /dev/null +++ b/oadrsd/oadrsd/2b/location.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef LOCATION_HXX +#define LOCATION_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + class location; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + class Polygon; + } +} + +namespace oadr2b +{ + namespace gml + { + class location: public ::xml_schema::type + { + public: + // Polygon + // + typedef ::oadr2b::gml::Polygon Polygon_type; + typedef ::xsd::cxx::tree::traits< Polygon_type, char > Polygon_traits; + + const Polygon_type& + Polygon () const; + + Polygon_type& + Polygon (); + + void + Polygon (const Polygon_type& x); + + void + Polygon (::std::auto_ptr< Polygon_type > p); + + // Constructors. + // + location (const Polygon_type&); + + location (::std::auto_ptr< Polygon_type >); + + location (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + location (const location& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual location* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + location& + operator= (const location& x); + + virtual + ~location (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< Polygon_type > Polygon_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + void + operator<< (::xercesc::DOMElement&, const location&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // LOCATION_HXX diff --git a/oadrsd/oadrsd/2b/logoType.cxx b/oadrsd/oadrsd/2b/logoType.cxx new file mode 100644 index 0000000..b1118a1 --- /dev/null +++ b/oadrsd/oadrsd/2b/logoType.cxx @@ -0,0 +1,282 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "logoType.hxx" + +namespace Atom +{ + // logoType + // + + const logoType::base_optional& logoType:: + base () const + { + return this->base_; + } + + logoType::base_optional& logoType:: + base () + { + return this->base_; + } + + void logoType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void logoType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void logoType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const logoType::lang_optional& logoType:: + lang () const + { + return this->lang_; + } + + logoType::lang_optional& logoType:: + lang () + { + return this->lang_; + } + + void logoType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void logoType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void logoType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // logoType + // + + logoType:: + logoType (const ::xml_schema::uri& _xsd_uri_base) + : ::xml_schema::uri (_xsd_uri_base), + base_ (this), + lang_ (this) + { + } + + logoType:: + logoType (const logoType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (x, f, c), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + logoType:: + logoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (e, f | ::xml_schema::flags::base, c), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void logoType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + logoType* logoType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class logoType (*this, f, c); + } + + logoType& logoType:: + operator= (const logoType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::uri& > (*this) = x; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + logoType:: + ~logoType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, logoType > + _xsd_logoType_type_factory_init ( + "logoType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const logoType& i) + { + e << static_cast< const ::xml_schema::uri& > (i); + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, logoType > + _xsd_logoType_type_serializer_init ( + "logoType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/logoType.hxx b/oadrsd/oadrsd/2b/logoType.hxx new file mode 100644 index 0000000..524cdb4 --- /dev/null +++ b/oadrsd/oadrsd/2b/logoType.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef LOGO_TYPE_HXX +#define LOGO_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class logoType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class logoType: public ::xml_schema::uri + { + public: + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + logoType (const ::xml_schema::uri&); + + logoType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + logoType (const logoType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual logoType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + logoType& + operator= (const logoType& x); + + virtual + ~logoType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const logoType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // LOGO_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCancelOptType.cxx b/oadrsd/oadrsd/2b/oadrCancelOptType.cxx new file mode 100644 index 0000000..c12bd2e --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelOptType.cxx @@ -0,0 +1,527 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCancelOptType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelOptType + // + + const oadrCancelOptType::requestID_type& oadrCancelOptType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCancelOptType::requestID_type& oadrCancelOptType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCancelOptType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCancelOptType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCancelOptType::optID_type& oadrCancelOptType:: + optID () const + { + return this->optID_.get (); + } + + oadrCancelOptType::optID_type& oadrCancelOptType:: + optID () + { + return this->optID_.get (); + } + + void oadrCancelOptType:: + optID (const optID_type& x) + { + this->optID_.set (x); + } + + void oadrCancelOptType:: + optID (::std::auto_ptr< optID_type > x) + { + this->optID_.set (x); + } + + const oadrCancelOptType::venID_type& oadrCancelOptType:: + venID () const + { + return this->venID_.get (); + } + + oadrCancelOptType::venID_type& oadrCancelOptType:: + venID () + { + return this->venID_.get (); + } + + void oadrCancelOptType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCancelOptType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCancelOptType::schemaVersion_optional& oadrCancelOptType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCancelOptType::schemaVersion_optional& oadrCancelOptType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCancelOptType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCancelOptType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCancelOptType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelOptType + // + + oadrCancelOptType:: + oadrCancelOptType (const requestID_type& requestID, + const optID_type& optID, + const venID_type& venID) + : ::xml_schema::type (), + requestID_ (requestID, this), + optID_ (optID, this), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrCancelOptType:: + oadrCancelOptType (::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< optID_type > optID, + ::std::auto_ptr< venID_type > venID) + : ::xml_schema::type (), + requestID_ (requestID, this), + optID_ (optID, this), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrCancelOptType:: + oadrCancelOptType (const oadrCancelOptType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + optID_ (x.optID_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCancelOptType:: + oadrCancelOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + optID_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCancelOptType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // optID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optID_.present ()) + { + ::std::auto_ptr< optID_type > r ( + dynamic_cast< optID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!optID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCancelOptType* oadrCancelOptType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCancelOptType (*this, f, c); + } + + oadrCancelOptType& oadrCancelOptType:: + operator= (const oadrCancelOptType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->optID_ = x.optID_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCancelOptType:: + ~oadrCancelOptType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCancelOptType > + _xsd_oadrCancelOptType_type_factory_init ( + "oadrCancelOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCancelOptType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelOptType::requestID_type& x (i.requestID ()); + if (typeid (oadrCancelOptType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // optID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelOptType::optID_type& x (i.optID ()); + if (typeid (oadrCancelOptType::optID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelOptType::venID_type& x (i.venID ()); + if (typeid (oadrCancelOptType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCancelOptType > + _xsd_oadrCancelOptType_type_serializer_init ( + "oadrCancelOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCancelOptType.hxx b/oadrsd/oadrsd/2b/oadrCancelOptType.hxx new file mode 100644 index 0000000..c14a590 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelOptType.hxx @@ -0,0 +1,442 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCEL_OPT_TYPE_HXX +#define OADR_CANCEL_OPT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCancelOptType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelOptType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // optID + // + typedef ::xml_schema::string optID_type; + typedef ::xsd::cxx::tree::traits< optID_type, char > optID_traits; + + const optID_type& + optID () const; + + optID_type& + optID (); + + void + optID (const optID_type& x); + + void + optID (::std::auto_ptr< optID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCancelOptType (const requestID_type&, + const optID_type&, + const venID_type&); + + oadrCancelOptType (::std::auto_ptr< requestID_type >, + ::std::auto_ptr< optID_type >, + ::std::auto_ptr< venID_type >); + + oadrCancelOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCancelOptType (const oadrCancelOptType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCancelOptType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCancelOptType& + operator= (const oadrCancelOptType& x); + + virtual + ~oadrCancelOptType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + ::xsd::cxx::tree::one< optID_type > optID_; + ::xsd::cxx::tree::one< venID_type > venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCancelOptType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCEL_OPT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.cxx b/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.cxx new file mode 100644 index 0000000..1059ce3 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.cxx @@ -0,0 +1,529 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCancelPartyRegistrationType.hxx" + +#include "UidType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelPartyRegistrationType + // + + const oadrCancelPartyRegistrationType::requestID_type& oadrCancelPartyRegistrationType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCancelPartyRegistrationType::requestID_type& oadrCancelPartyRegistrationType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCancelPartyRegistrationType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCancelPartyRegistrationType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCancelPartyRegistrationType::registrationID_type& oadrCancelPartyRegistrationType:: + registrationID () const + { + return this->registrationID_.get (); + } + + oadrCancelPartyRegistrationType::registrationID_type& oadrCancelPartyRegistrationType:: + registrationID () + { + return this->registrationID_.get (); + } + + void oadrCancelPartyRegistrationType:: + registrationID (const registrationID_type& x) + { + this->registrationID_.set (x); + } + + void oadrCancelPartyRegistrationType:: + registrationID (::std::auto_ptr< registrationID_type > x) + { + this->registrationID_.set (x); + } + + const oadrCancelPartyRegistrationType::venID_optional& oadrCancelPartyRegistrationType:: + venID () const + { + return this->venID_; + } + + oadrCancelPartyRegistrationType::venID_optional& oadrCancelPartyRegistrationType:: + venID () + { + return this->venID_; + } + + void oadrCancelPartyRegistrationType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCancelPartyRegistrationType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCancelPartyRegistrationType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCancelPartyRegistrationType::schemaVersion_optional& oadrCancelPartyRegistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCancelPartyRegistrationType::schemaVersion_optional& oadrCancelPartyRegistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCancelPartyRegistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCancelPartyRegistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCancelPartyRegistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelPartyRegistrationType + // + + oadrCancelPartyRegistrationType:: + oadrCancelPartyRegistrationType (const requestID_type& requestID, + const registrationID_type& registrationID) + : ::xml_schema::type (), + requestID_ (requestID, this), + registrationID_ (registrationID, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCancelPartyRegistrationType:: + oadrCancelPartyRegistrationType (::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< registrationID_type > registrationID) + : ::xml_schema::type (), + requestID_ (requestID, this), + registrationID_ (registrationID, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCancelPartyRegistrationType:: + oadrCancelPartyRegistrationType (const oadrCancelPartyRegistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + registrationID_ (x.registrationID_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCancelPartyRegistrationType:: + oadrCancelPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + registrationID_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCancelPartyRegistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // registrationID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< registrationID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!registrationID_.present ()) + { + ::std::auto_ptr< registrationID_type > r ( + dynamic_cast< registrationID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->registrationID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!registrationID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCancelPartyRegistrationType* oadrCancelPartyRegistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCancelPartyRegistrationType (*this, f, c); + } + + oadrCancelPartyRegistrationType& oadrCancelPartyRegistrationType:: + operator= (const oadrCancelPartyRegistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->registrationID_ = x.registrationID_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCancelPartyRegistrationType:: + ~oadrCancelPartyRegistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCancelPartyRegistrationType > + _xsd_oadrCancelPartyRegistrationType_type_factory_init ( + "oadrCancelPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCancelPartyRegistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelPartyRegistrationType::requestID_type& x (i.requestID ()); + if (typeid (oadrCancelPartyRegistrationType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // registrationID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelPartyRegistrationType::registrationID_type& x (i.registrationID ()); + if (typeid (oadrCancelPartyRegistrationType::registrationID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCancelPartyRegistrationType::venID_type& x (*i.venID ()); + if (typeid (oadrCancelPartyRegistrationType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCancelPartyRegistrationType > + _xsd_oadrCancelPartyRegistrationType_type_serializer_init ( + "oadrCancelPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.hxx b/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.hxx new file mode 100644 index 0000000..eedcfe0 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelPartyRegistrationType.hxx @@ -0,0 +1,452 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCEL_PARTY_REGISTRATION_TYPE_HXX +#define OADR_CANCEL_PARTY_REGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCancelPartyRegistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class UidType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelPartyRegistrationType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // registrationID + // + typedef ::oadr2b::ei::UidType registrationID_type; + typedef ::xsd::cxx::tree::traits< registrationID_type, char > registrationID_traits; + + const registrationID_type& + registrationID () const; + + registrationID_type& + registrationID (); + + void + registrationID (const registrationID_type& x); + + void + registrationID (::std::auto_ptr< registrationID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCancelPartyRegistrationType (const requestID_type&, + const registrationID_type&); + + oadrCancelPartyRegistrationType (::std::auto_ptr< requestID_type >, + ::std::auto_ptr< registrationID_type >); + + oadrCancelPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCancelPartyRegistrationType (const oadrCancelPartyRegistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCancelPartyRegistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCancelPartyRegistrationType& + operator= (const oadrCancelPartyRegistrationType& x); + + virtual + ~oadrCancelPartyRegistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + ::xsd::cxx::tree::one< registrationID_type > registrationID_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCancelPartyRegistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCEL_PARTY_REGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCancelReportType.cxx b/oadrsd/oadrsd/2b/oadrCancelReportType.cxx new file mode 100644 index 0000000..b4a5a1b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelReportType.cxx @@ -0,0 +1,568 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCancelReportType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelReportType + // + + const oadrCancelReportType::requestID_type& oadrCancelReportType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCancelReportType::requestID_type& oadrCancelReportType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCancelReportType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCancelReportType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCancelReportType::reportRequestID_sequence& oadrCancelReportType:: + reportRequestID () const + { + return this->reportRequestID_; + } + + oadrCancelReportType::reportRequestID_sequence& oadrCancelReportType:: + reportRequestID () + { + return this->reportRequestID_; + } + + void oadrCancelReportType:: + reportRequestID (const reportRequestID_sequence& s) + { + this->reportRequestID_ = s; + } + + const oadrCancelReportType::reportToFollow_type& oadrCancelReportType:: + reportToFollow () const + { + return this->reportToFollow_.get (); + } + + oadrCancelReportType::reportToFollow_type& oadrCancelReportType:: + reportToFollow () + { + return this->reportToFollow_.get (); + } + + void oadrCancelReportType:: + reportToFollow (const reportToFollow_type& x) + { + this->reportToFollow_.set (x); + } + + const oadrCancelReportType::venID_optional& oadrCancelReportType:: + venID () const + { + return this->venID_; + } + + oadrCancelReportType::venID_optional& oadrCancelReportType:: + venID () + { + return this->venID_; + } + + void oadrCancelReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCancelReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCancelReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCancelReportType::schemaVersion_optional& oadrCancelReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCancelReportType::schemaVersion_optional& oadrCancelReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCancelReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCancelReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCancelReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCancelReportType + // + + oadrCancelReportType:: + oadrCancelReportType (const requestID_type& requestID, + const reportToFollow_type& reportToFollow) + : ::xml_schema::type (), + requestID_ (requestID, this), + reportRequestID_ (this), + reportToFollow_ (reportToFollow, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCancelReportType:: + oadrCancelReportType (::std::auto_ptr< requestID_type > requestID, + const reportToFollow_type& reportToFollow) + : ::xml_schema::type (), + requestID_ (requestID, this), + reportRequestID_ (this), + reportToFollow_ (reportToFollow, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCancelReportType:: + oadrCancelReportType (const oadrCancelReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + reportRequestID_ (x.reportRequestID_, f, this), + reportToFollow_ (x.reportToFollow_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCancelReportType:: + oadrCancelReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + reportRequestID_ (this), + reportToFollow_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCancelReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // reportRequestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportRequestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< reportRequestID_type > r ( + dynamic_cast< reportRequestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportRequestID_.push_back (r); + continue; + } + } + + // reportToFollow + // + if (n.name () == "reportToFollow" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + if (!reportToFollow_.present ()) + { + this->reportToFollow_.set (reportToFollow_traits::create (i, f, this)); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!reportToFollow_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCancelReportType* oadrCancelReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCancelReportType (*this, f, c); + } + + oadrCancelReportType& oadrCancelReportType:: + operator= (const oadrCancelReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->reportRequestID_ = x.reportRequestID_; + this->reportToFollow_ = x.reportToFollow_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCancelReportType:: + ~oadrCancelReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCancelReportType > + _xsd_oadrCancelReportType_type_factory_init ( + "oadrCancelReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCancelReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCancelReportType::requestID_type& x (i.requestID ()); + if (typeid (oadrCancelReportType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // reportRequestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrCancelReportType::reportRequestID_const_iterator + b (i.reportRequestID ().begin ()), n (i.reportRequestID ().end ()); + b != n; ++b) + { + if (typeid (oadrCancelReportType::reportRequestID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + + // reportToFollow + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << i.reportToFollow (); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCancelReportType::venID_type& x (*i.venID ()); + if (typeid (oadrCancelReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCancelReportType > + _xsd_oadrCancelReportType_type_serializer_init ( + "oadrCancelReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCancelReportType.hxx b/oadrsd/oadrsd/2b/oadrCancelReportType.hxx new file mode 100644 index 0000000..c59ee51 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCancelReportType.hxx @@ -0,0 +1,459 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCEL_REPORT_TYPE_HXX +#define OADR_CANCEL_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCancelReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelReportType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // reportRequestID + // + typedef ::xml_schema::string reportRequestID_type; + typedef ::xsd::cxx::tree::sequence< reportRequestID_type > reportRequestID_sequence; + typedef reportRequestID_sequence::iterator reportRequestID_iterator; + typedef reportRequestID_sequence::const_iterator reportRequestID_const_iterator; + typedef ::xsd::cxx::tree::traits< reportRequestID_type, char > reportRequestID_traits; + + const reportRequestID_sequence& + reportRequestID () const; + + reportRequestID_sequence& + reportRequestID (); + + void + reportRequestID (const reportRequestID_sequence& s); + + // reportToFollow + // + typedef ::xml_schema::boolean reportToFollow_type; + typedef ::xsd::cxx::tree::traits< reportToFollow_type, char > reportToFollow_traits; + + const reportToFollow_type& + reportToFollow () const; + + reportToFollow_type& + reportToFollow (); + + void + reportToFollow (const reportToFollow_type& x); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCancelReportType (const requestID_type&, + const reportToFollow_type&); + + oadrCancelReportType (::std::auto_ptr< requestID_type >, + const reportToFollow_type&); + + oadrCancelReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCancelReportType (const oadrCancelReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCancelReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCancelReportType& + operator= (const oadrCancelReportType& x); + + virtual + ~oadrCancelReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + reportRequestID_sequence reportRequestID_; + ::xsd::cxx::tree::one< reportToFollow_type > reportToFollow_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCancelReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCEL_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCanceledOptType.cxx b/oadrsd/oadrsd/2b/oadrCanceledOptType.cxx new file mode 100644 index 0000000..17fecde --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledOptType.cxx @@ -0,0 +1,439 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCanceledOptType.hxx" + +#include "EiResponseType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledOptType + // + + const oadrCanceledOptType::eiResponse_type& oadrCanceledOptType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCanceledOptType::eiResponse_type& oadrCanceledOptType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCanceledOptType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCanceledOptType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCanceledOptType::optID_optional& oadrCanceledOptType:: + optID () const + { + return this->optID_; + } + + oadrCanceledOptType::optID_optional& oadrCanceledOptType:: + optID () + { + return this->optID_; + } + + void oadrCanceledOptType:: + optID (const optID_type& x) + { + this->optID_.set (x); + } + + void oadrCanceledOptType:: + optID (const optID_optional& x) + { + this->optID_ = x; + } + + void oadrCanceledOptType:: + optID (::std::auto_ptr< optID_type > x) + { + this->optID_.set (x); + } + + const oadrCanceledOptType::schemaVersion_optional& oadrCanceledOptType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCanceledOptType::schemaVersion_optional& oadrCanceledOptType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCanceledOptType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCanceledOptType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCanceledOptType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledOptType + // + + oadrCanceledOptType:: + oadrCanceledOptType (const eiResponse_type& eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + optID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledOptType:: + oadrCanceledOptType (::std::auto_ptr< eiResponse_type > eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + optID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledOptType:: + oadrCanceledOptType (const oadrCanceledOptType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + optID_ (x.optID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCanceledOptType:: + oadrCanceledOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + optID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCanceledOptType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // optID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->optID_) + { + ::std::auto_ptr< optID_type > r ( + dynamic_cast< optID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCanceledOptType* oadrCanceledOptType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCanceledOptType (*this, f, c); + } + + oadrCanceledOptType& oadrCanceledOptType:: + operator= (const oadrCanceledOptType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->optID_ = x.optID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCanceledOptType:: + ~oadrCanceledOptType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCanceledOptType > + _xsd_oadrCanceledOptType_type_factory_init ( + "oadrCanceledOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCanceledOptType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCanceledOptType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCanceledOptType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // optID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.optID ()) + { + const oadrCanceledOptType::optID_type& x (*i.optID ()); + if (typeid (oadrCanceledOptType::optID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCanceledOptType > + _xsd_oadrCanceledOptType_type_serializer_init ( + "oadrCanceledOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCanceledOptType.hxx b/oadrsd/oadrsd/2b/oadrCanceledOptType.hxx new file mode 100644 index 0000000..f164fb0 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledOptType.hxx @@ -0,0 +1,432 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCELED_OPT_TYPE_HXX +#define OADR_CANCELED_OPT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledOptType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledOptType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // optID + // + typedef ::xml_schema::string optID_type; + typedef ::xsd::cxx::tree::optional< optID_type > optID_optional; + typedef ::xsd::cxx::tree::traits< optID_type, char > optID_traits; + + const optID_optional& + optID () const; + + optID_optional& + optID (); + + void + optID (const optID_type& x); + + void + optID (const optID_optional& x); + + void + optID (::std::auto_ptr< optID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCanceledOptType (const eiResponse_type&); + + oadrCanceledOptType (::std::auto_ptr< eiResponse_type >); + + oadrCanceledOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCanceledOptType (const oadrCanceledOptType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCanceledOptType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCanceledOptType& + operator= (const oadrCanceledOptType& x); + + virtual + ~oadrCanceledOptType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + optID_optional optID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCanceledOptType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCELED_OPT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.cxx b/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.cxx new file mode 100644 index 0000000..187e721 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.cxx @@ -0,0 +1,531 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCanceledPartyRegistrationType.hxx" + +#include "EiResponseType.hxx" + +#include "UidType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledPartyRegistrationType + // + + const oadrCanceledPartyRegistrationType::eiResponse_type& oadrCanceledPartyRegistrationType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCanceledPartyRegistrationType::eiResponse_type& oadrCanceledPartyRegistrationType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCanceledPartyRegistrationType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCanceledPartyRegistrationType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCanceledPartyRegistrationType::registrationID_optional& oadrCanceledPartyRegistrationType:: + registrationID () const + { + return this->registrationID_; + } + + oadrCanceledPartyRegistrationType::registrationID_optional& oadrCanceledPartyRegistrationType:: + registrationID () + { + return this->registrationID_; + } + + void oadrCanceledPartyRegistrationType:: + registrationID (const registrationID_type& x) + { + this->registrationID_.set (x); + } + + void oadrCanceledPartyRegistrationType:: + registrationID (const registrationID_optional& x) + { + this->registrationID_ = x; + } + + void oadrCanceledPartyRegistrationType:: + registrationID (::std::auto_ptr< registrationID_type > x) + { + this->registrationID_.set (x); + } + + const oadrCanceledPartyRegistrationType::venID_optional& oadrCanceledPartyRegistrationType:: + venID () const + { + return this->venID_; + } + + oadrCanceledPartyRegistrationType::venID_optional& oadrCanceledPartyRegistrationType:: + venID () + { + return this->venID_; + } + + void oadrCanceledPartyRegistrationType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCanceledPartyRegistrationType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCanceledPartyRegistrationType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCanceledPartyRegistrationType::schemaVersion_optional& oadrCanceledPartyRegistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCanceledPartyRegistrationType::schemaVersion_optional& oadrCanceledPartyRegistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCanceledPartyRegistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCanceledPartyRegistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCanceledPartyRegistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledPartyRegistrationType + // + + oadrCanceledPartyRegistrationType:: + oadrCanceledPartyRegistrationType (const eiResponse_type& eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + registrationID_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledPartyRegistrationType:: + oadrCanceledPartyRegistrationType (::std::auto_ptr< eiResponse_type > eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + registrationID_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledPartyRegistrationType:: + oadrCanceledPartyRegistrationType (const oadrCanceledPartyRegistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + registrationID_ (x.registrationID_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCanceledPartyRegistrationType:: + oadrCanceledPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + registrationID_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCanceledPartyRegistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // registrationID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< registrationID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->registrationID_) + { + ::std::auto_ptr< registrationID_type > r ( + dynamic_cast< registrationID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->registrationID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCanceledPartyRegistrationType* oadrCanceledPartyRegistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCanceledPartyRegistrationType (*this, f, c); + } + + oadrCanceledPartyRegistrationType& oadrCanceledPartyRegistrationType:: + operator= (const oadrCanceledPartyRegistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->registrationID_ = x.registrationID_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCanceledPartyRegistrationType:: + ~oadrCanceledPartyRegistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCanceledPartyRegistrationType > + _xsd_oadrCanceledPartyRegistrationType_type_factory_init ( + "oadrCanceledPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCanceledPartyRegistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCanceledPartyRegistrationType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCanceledPartyRegistrationType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // registrationID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.registrationID ()) + { + const oadrCanceledPartyRegistrationType::registrationID_type& x (*i.registrationID ()); + if (typeid (oadrCanceledPartyRegistrationType::registrationID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCanceledPartyRegistrationType::venID_type& x (*i.venID ()); + if (typeid (oadrCanceledPartyRegistrationType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCanceledPartyRegistrationType > + _xsd_oadrCanceledPartyRegistrationType_type_serializer_init ( + "oadrCanceledPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.hxx b/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.hxx new file mode 100644 index 0000000..507d23d --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledPartyRegistrationType.hxx @@ -0,0 +1,462 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCELED_PARTY_REGISTRATION_TYPE_HXX +#define OADR_CANCELED_PARTY_REGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledPartyRegistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class UidType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledPartyRegistrationType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // registrationID + // + typedef ::oadr2b::ei::UidType registrationID_type; + typedef ::xsd::cxx::tree::optional< registrationID_type > registrationID_optional; + typedef ::xsd::cxx::tree::traits< registrationID_type, char > registrationID_traits; + + const registrationID_optional& + registrationID () const; + + registrationID_optional& + registrationID (); + + void + registrationID (const registrationID_type& x); + + void + registrationID (const registrationID_optional& x); + + void + registrationID (::std::auto_ptr< registrationID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCanceledPartyRegistrationType (const eiResponse_type&); + + oadrCanceledPartyRegistrationType (::std::auto_ptr< eiResponse_type >); + + oadrCanceledPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCanceledPartyRegistrationType (const oadrCanceledPartyRegistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCanceledPartyRegistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCanceledPartyRegistrationType& + operator= (const oadrCanceledPartyRegistrationType& x); + + virtual + ~oadrCanceledPartyRegistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + registrationID_optional registrationID_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCanceledPartyRegistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCELED_PARTY_REGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCanceledReportType.cxx b/oadrsd/oadrsd/2b/oadrCanceledReportType.cxx new file mode 100644 index 0000000..374b8ca --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledReportType.cxx @@ -0,0 +1,531 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCanceledReportType.hxx" + +#include "EiResponseType.hxx" + +#include "oadrPendingReportsType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledReportType + // + + const oadrCanceledReportType::eiResponse_type& oadrCanceledReportType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCanceledReportType::eiResponse_type& oadrCanceledReportType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCanceledReportType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCanceledReportType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCanceledReportType::oadrPendingReports_type& oadrCanceledReportType:: + oadrPendingReports () const + { + return this->oadrPendingReports_.get (); + } + + oadrCanceledReportType::oadrPendingReports_type& oadrCanceledReportType:: + oadrPendingReports () + { + return this->oadrPendingReports_.get (); + } + + void oadrCanceledReportType:: + oadrPendingReports (const oadrPendingReports_type& x) + { + this->oadrPendingReports_.set (x); + } + + void oadrCanceledReportType:: + oadrPendingReports (::std::auto_ptr< oadrPendingReports_type > x) + { + this->oadrPendingReports_.set (x); + } + + const oadrCanceledReportType::venID_optional& oadrCanceledReportType:: + venID () const + { + return this->venID_; + } + + oadrCanceledReportType::venID_optional& oadrCanceledReportType:: + venID () + { + return this->venID_; + } + + void oadrCanceledReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCanceledReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCanceledReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCanceledReportType::schemaVersion_optional& oadrCanceledReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCanceledReportType::schemaVersion_optional& oadrCanceledReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCanceledReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCanceledReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCanceledReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCanceledReportType + // + + oadrCanceledReportType:: + oadrCanceledReportType (const eiResponse_type& eiResponse, + const oadrPendingReports_type& oadrPendingReports) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrPendingReports_ (oadrPendingReports, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledReportType:: + oadrCanceledReportType (::std::auto_ptr< eiResponse_type > eiResponse, + ::std::auto_ptr< oadrPendingReports_type > oadrPendingReports) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrPendingReports_ (oadrPendingReports, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCanceledReportType:: + oadrCanceledReportType (const oadrCanceledReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + oadrPendingReports_ (x.oadrPendingReports_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCanceledReportType:: + oadrCanceledReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + oadrPendingReports_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCanceledReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // oadrPendingReports + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrPendingReports_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrPendingReports_.present ()) + { + ::std::auto_ptr< oadrPendingReports_type > r ( + dynamic_cast< oadrPendingReports_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrPendingReports_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!oadrPendingReports_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCanceledReportType* oadrCanceledReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCanceledReportType (*this, f, c); + } + + oadrCanceledReportType& oadrCanceledReportType:: + operator= (const oadrCanceledReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->oadrPendingReports_ = x.oadrPendingReports_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCanceledReportType:: + ~oadrCanceledReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCanceledReportType > + _xsd_oadrCanceledReportType_type_factory_init ( + "oadrCanceledReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCanceledReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCanceledReportType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCanceledReportType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrPendingReports + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCanceledReportType::oadrPendingReports_type& x (i.oadrPendingReports ()); + if (typeid (oadrCanceledReportType::oadrPendingReports_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCanceledReportType::venID_type& x (*i.venID ()); + if (typeid (oadrCanceledReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCanceledReportType > + _xsd_oadrCanceledReportType_type_serializer_init ( + "oadrCanceledReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCanceledReportType.hxx b/oadrsd/oadrsd/2b/oadrCanceledReportType.hxx new file mode 100644 index 0000000..720a6c8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCanceledReportType.hxx @@ -0,0 +1,460 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CANCELED_REPORT_TYPE_HXX +#define OADR_CANCELED_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPendingReportsType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledReportType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // oadrPendingReports + // + typedef ::oadr2b::oadr::oadrPendingReportsType oadrPendingReports_type; + typedef ::xsd::cxx::tree::traits< oadrPendingReports_type, char > oadrPendingReports_traits; + + const oadrPendingReports_type& + oadrPendingReports () const; + + oadrPendingReports_type& + oadrPendingReports (); + + void + oadrPendingReports (const oadrPendingReports_type& x); + + void + oadrPendingReports (::std::auto_ptr< oadrPendingReports_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCanceledReportType (const eiResponse_type&, + const oadrPendingReports_type&); + + oadrCanceledReportType (::std::auto_ptr< eiResponse_type >, + ::std::auto_ptr< oadrPendingReports_type >); + + oadrCanceledReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCanceledReportType (const oadrCanceledReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCanceledReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCanceledReportType& + operator= (const oadrCanceledReportType& x); + + virtual + ~oadrCanceledReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + ::xsd::cxx::tree::one< oadrPendingReports_type > oadrPendingReports_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCanceledReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CANCELED_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreateOptType.cxx b/oadrsd/oadrsd/2b/oadrCreateOptType.cxx new file mode 100644 index 0000000..d0cfd10 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreateOptType.cxx @@ -0,0 +1,598 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreateOptType.hxx" + +#include "QualifiedEventIDType.hxx" + +#include "EiTargetType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreateOptType + // + + const oadrCreateOptType::requestID_type& oadrCreateOptType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCreateOptType::requestID_type& oadrCreateOptType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCreateOptType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCreateOptType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCreateOptType::qualifiedEventID_optional& oadrCreateOptType:: + qualifiedEventID () const + { + return this->qualifiedEventID_; + } + + oadrCreateOptType::qualifiedEventID_optional& oadrCreateOptType:: + qualifiedEventID () + { + return this->qualifiedEventID_; + } + + void oadrCreateOptType:: + qualifiedEventID (const qualifiedEventID_type& x) + { + this->qualifiedEventID_.set (x); + } + + void oadrCreateOptType:: + qualifiedEventID (const qualifiedEventID_optional& x) + { + this->qualifiedEventID_ = x; + } + + void oadrCreateOptType:: + qualifiedEventID (::std::auto_ptr< qualifiedEventID_type > x) + { + this->qualifiedEventID_.set (x); + } + + const oadrCreateOptType::eiTarget_type& oadrCreateOptType:: + eiTarget () const + { + return this->eiTarget_.get (); + } + + oadrCreateOptType::eiTarget_type& oadrCreateOptType:: + eiTarget () + { + return this->eiTarget_.get (); + } + + void oadrCreateOptType:: + eiTarget (const eiTarget_type& x) + { + this->eiTarget_.set (x); + } + + void oadrCreateOptType:: + eiTarget (::std::auto_ptr< eiTarget_type > x) + { + this->eiTarget_.set (x); + } + + const oadrCreateOptType::oadrDeviceClass_optional& oadrCreateOptType:: + oadrDeviceClass () const + { + return this->oadrDeviceClass_; + } + + oadrCreateOptType::oadrDeviceClass_optional& oadrCreateOptType:: + oadrDeviceClass () + { + return this->oadrDeviceClass_; + } + + void oadrCreateOptType:: + oadrDeviceClass (const oadrDeviceClass_type& x) + { + this->oadrDeviceClass_.set (x); + } + + void oadrCreateOptType:: + oadrDeviceClass (const oadrDeviceClass_optional& x) + { + this->oadrDeviceClass_ = x; + } + + void oadrCreateOptType:: + oadrDeviceClass (::std::auto_ptr< oadrDeviceClass_type > x) + { + this->oadrDeviceClass_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreateOptType + // + + oadrCreateOptType:: + oadrCreateOptType (const optID_type& optID, + const optType_type& optType, + const optReason_type& optReason, + const venID_type& venID, + const createdDateTime_type& createdDateTime, + const requestID_type& requestID, + const eiTarget_type& eiTarget) + : ::oadr2b::ei::EiOptType (optID, + optType, + optReason, + venID, + createdDateTime), + requestID_ (requestID, this), + qualifiedEventID_ (this), + eiTarget_ (eiTarget, this), + oadrDeviceClass_ (this) + { + } + + oadrCreateOptType:: + oadrCreateOptType (const optID_type& optID, + const optType_type& optType, + const optReason_type& optReason, + const venID_type& venID, + const createdDateTime_type& createdDateTime, + const requestID_type& requestID, + ::std::auto_ptr< eiTarget_type > eiTarget) + : ::oadr2b::ei::EiOptType (optID, + optType, + optReason, + venID, + createdDateTime), + requestID_ (requestID, this), + qualifiedEventID_ (this), + eiTarget_ (eiTarget, this), + oadrDeviceClass_ (this) + { + } + + oadrCreateOptType:: + oadrCreateOptType (::std::auto_ptr< optID_type > optID, + ::std::auto_ptr< optType_type > optType, + ::std::auto_ptr< optReason_type > optReason, + ::std::auto_ptr< venID_type > venID, + ::std::auto_ptr< createdDateTime_type > createdDateTime, + ::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< eiTarget_type > eiTarget) + : ::oadr2b::ei::EiOptType (optID, + optType, + optReason, + venID, + createdDateTime), + requestID_ (requestID, this), + qualifiedEventID_ (this), + eiTarget_ (eiTarget, this), + oadrDeviceClass_ (this) + { + } + + oadrCreateOptType:: + oadrCreateOptType (const oadrCreateOptType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::EiOptType (x, f, c), + requestID_ (x.requestID_, f, this), + qualifiedEventID_ (x.qualifiedEventID_, f, this), + eiTarget_ (x.eiTarget_, f, this), + oadrDeviceClass_ (x.oadrDeviceClass_, f, this) + { + } + + oadrCreateOptType:: + oadrCreateOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::EiOptType (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + qualifiedEventID_ (this), + eiTarget_ (this), + oadrDeviceClass_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreateOptType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::oadr2b::ei::EiOptType::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // qualifiedEventID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< qualifiedEventID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->qualifiedEventID_) + { + ::std::auto_ptr< qualifiedEventID_type > r ( + dynamic_cast< qualifiedEventID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->qualifiedEventID_.set (r); + continue; + } + } + } + + // eiTarget + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiTarget_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiTarget_.present ()) + { + ::std::auto_ptr< eiTarget_type > r ( + dynamic_cast< eiTarget_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiTarget_.set (r); + continue; + } + } + } + + // oadrDeviceClass + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrDeviceClass_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrDeviceClass_) + { + ::std::auto_ptr< oadrDeviceClass_type > r ( + dynamic_cast< oadrDeviceClass_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrDeviceClass_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!eiTarget_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + oadrCreateOptType* oadrCreateOptType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreateOptType (*this, f, c); + } + + oadrCreateOptType& oadrCreateOptType:: + operator= (const oadrCreateOptType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::ei::EiOptType& > (*this) = x; + this->requestID_ = x.requestID_; + this->qualifiedEventID_ = x.qualifiedEventID_; + this->eiTarget_ = x.eiTarget_; + this->oadrDeviceClass_ = x.oadrDeviceClass_; + } + + return *this; + } + + oadrCreateOptType:: + ~oadrCreateOptType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreateOptType > + _xsd_oadrCreateOptType_type_factory_init ( + "oadrCreateOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreateOptType& i) + { + e << static_cast< const ::oadr2b::ei::EiOptType& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreateOptType::requestID_type& x (i.requestID ()); + if (typeid (oadrCreateOptType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // qualifiedEventID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.qualifiedEventID ()) + { + const oadrCreateOptType::qualifiedEventID_type& x (*i.qualifiedEventID ()); + if (typeid (oadrCreateOptType::qualifiedEventID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // eiTarget + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreateOptType::eiTarget_type& x (i.eiTarget ()); + if (typeid (oadrCreateOptType::eiTarget_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrDeviceClass + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrDeviceClass ()) + { + const oadrCreateOptType::oadrDeviceClass_type& x (*i.oadrDeviceClass ()); + if (typeid (oadrCreateOptType::oadrDeviceClass_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreateOptType > + _xsd_oadrCreateOptType_type_serializer_init ( + "oadrCreateOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreateOptType.hxx b/oadrsd/oadrsd/2b/oadrCreateOptType.hxx new file mode 100644 index 0000000..68d0a35 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreateOptType.hxx @@ -0,0 +1,472 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATE_OPT_TYPE_HXX +#define OADR_CREATE_OPT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreateOptType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "EiOptType.hxx" + +namespace oadr2b +{ + namespace ei + { + class QualifiedEventIDType; + } +} + +namespace oadr2b +{ + namespace ei + { + class EiTargetType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreateOptType: public ::oadr2b::ei::EiOptType + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // qualifiedEventID + // + typedef ::oadr2b::ei::QualifiedEventIDType qualifiedEventID_type; + typedef ::xsd::cxx::tree::optional< qualifiedEventID_type > qualifiedEventID_optional; + typedef ::xsd::cxx::tree::traits< qualifiedEventID_type, char > qualifiedEventID_traits; + + const qualifiedEventID_optional& + qualifiedEventID () const; + + qualifiedEventID_optional& + qualifiedEventID (); + + void + qualifiedEventID (const qualifiedEventID_type& x); + + void + qualifiedEventID (const qualifiedEventID_optional& x); + + void + qualifiedEventID (::std::auto_ptr< qualifiedEventID_type > p); + + // eiTarget + // + typedef ::oadr2b::ei::EiTargetType eiTarget_type; + typedef ::xsd::cxx::tree::traits< eiTarget_type, char > eiTarget_traits; + + const eiTarget_type& + eiTarget () const; + + eiTarget_type& + eiTarget (); + + void + eiTarget (const eiTarget_type& x); + + void + eiTarget (::std::auto_ptr< eiTarget_type > p); + + // oadrDeviceClass + // + typedef ::oadr2b::ei::EiTargetType oadrDeviceClass_type; + typedef ::xsd::cxx::tree::optional< oadrDeviceClass_type > oadrDeviceClass_optional; + typedef ::xsd::cxx::tree::traits< oadrDeviceClass_type, char > oadrDeviceClass_traits; + + const oadrDeviceClass_optional& + oadrDeviceClass () const; + + oadrDeviceClass_optional& + oadrDeviceClass (); + + void + oadrDeviceClass (const oadrDeviceClass_type& x); + + void + oadrDeviceClass (const oadrDeviceClass_optional& x); + + void + oadrDeviceClass (::std::auto_ptr< oadrDeviceClass_type > p); + + // Constructors. + // + oadrCreateOptType (const optID_type&, + const optType_type&, + const optReason_type&, + const venID_type&, + const createdDateTime_type&, + const requestID_type&, + const eiTarget_type&); + + oadrCreateOptType (const optID_type&, + const optType_type&, + const optReason_type&, + const venID_type&, + const createdDateTime_type&, + const requestID_type&, + ::std::auto_ptr< eiTarget_type >); + + oadrCreateOptType (::std::auto_ptr< optID_type >, + ::std::auto_ptr< optType_type >, + ::std::auto_ptr< optReason_type >, + ::std::auto_ptr< venID_type >, + ::std::auto_ptr< createdDateTime_type >, + ::std::auto_ptr< requestID_type >, + ::std::auto_ptr< eiTarget_type >); + + oadrCreateOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreateOptType (const oadrCreateOptType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreateOptType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreateOptType& + operator= (const oadrCreateOptType& x); + + virtual + ~oadrCreateOptType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + qualifiedEventID_optional qualifiedEventID_; + ::xsd::cxx::tree::one< eiTarget_type > eiTarget_; + oadrDeviceClass_optional oadrDeviceClass_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreateOptType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATE_OPT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.cxx b/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.cxx new file mode 100644 index 0000000..77ea207 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.cxx @@ -0,0 +1,1056 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreatePartyRegistrationType.hxx" + +#include "UidType.hxx" + +#include "oadrProfileType.hxx" + +#include "oadrTransportType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatePartyRegistrationType + // + + const oadrCreatePartyRegistrationType::requestID_type& oadrCreatePartyRegistrationType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCreatePartyRegistrationType::requestID_type& oadrCreatePartyRegistrationType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCreatePartyRegistrationType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCreatePartyRegistrationType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCreatePartyRegistrationType::registrationID_optional& oadrCreatePartyRegistrationType:: + registrationID () const + { + return this->registrationID_; + } + + oadrCreatePartyRegistrationType::registrationID_optional& oadrCreatePartyRegistrationType:: + registrationID () + { + return this->registrationID_; + } + + void oadrCreatePartyRegistrationType:: + registrationID (const registrationID_type& x) + { + this->registrationID_.set (x); + } + + void oadrCreatePartyRegistrationType:: + registrationID (const registrationID_optional& x) + { + this->registrationID_ = x; + } + + void oadrCreatePartyRegistrationType:: + registrationID (::std::auto_ptr< registrationID_type > x) + { + this->registrationID_.set (x); + } + + const oadrCreatePartyRegistrationType::venID_optional& oadrCreatePartyRegistrationType:: + venID () const + { + return this->venID_; + } + + oadrCreatePartyRegistrationType::venID_optional& oadrCreatePartyRegistrationType:: + venID () + { + return this->venID_; + } + + void oadrCreatePartyRegistrationType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCreatePartyRegistrationType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCreatePartyRegistrationType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrProfileName_type& oadrCreatePartyRegistrationType:: + oadrProfileName () const + { + return this->oadrProfileName_.get (); + } + + oadrCreatePartyRegistrationType::oadrProfileName_type& oadrCreatePartyRegistrationType:: + oadrProfileName () + { + return this->oadrProfileName_.get (); + } + + void oadrCreatePartyRegistrationType:: + oadrProfileName (const oadrProfileName_type& x) + { + this->oadrProfileName_.set (x); + } + + void oadrCreatePartyRegistrationType:: + oadrProfileName (::std::auto_ptr< oadrProfileName_type > x) + { + this->oadrProfileName_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrTransportName_type& oadrCreatePartyRegistrationType:: + oadrTransportName () const + { + return this->oadrTransportName_.get (); + } + + oadrCreatePartyRegistrationType::oadrTransportName_type& oadrCreatePartyRegistrationType:: + oadrTransportName () + { + return this->oadrTransportName_.get (); + } + + void oadrCreatePartyRegistrationType:: + oadrTransportName (const oadrTransportName_type& x) + { + this->oadrTransportName_.set (x); + } + + void oadrCreatePartyRegistrationType:: + oadrTransportName (::std::auto_ptr< oadrTransportName_type > x) + { + this->oadrTransportName_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrTransportAddress_optional& oadrCreatePartyRegistrationType:: + oadrTransportAddress () const + { + return this->oadrTransportAddress_; + } + + oadrCreatePartyRegistrationType::oadrTransportAddress_optional& oadrCreatePartyRegistrationType:: + oadrTransportAddress () + { + return this->oadrTransportAddress_; + } + + void oadrCreatePartyRegistrationType:: + oadrTransportAddress (const oadrTransportAddress_type& x) + { + this->oadrTransportAddress_.set (x); + } + + void oadrCreatePartyRegistrationType:: + oadrTransportAddress (const oadrTransportAddress_optional& x) + { + this->oadrTransportAddress_ = x; + } + + void oadrCreatePartyRegistrationType:: + oadrTransportAddress (::std::auto_ptr< oadrTransportAddress_type > x) + { + this->oadrTransportAddress_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrReportOnly_type& oadrCreatePartyRegistrationType:: + oadrReportOnly () const + { + return this->oadrReportOnly_.get (); + } + + oadrCreatePartyRegistrationType::oadrReportOnly_type& oadrCreatePartyRegistrationType:: + oadrReportOnly () + { + return this->oadrReportOnly_.get (); + } + + void oadrCreatePartyRegistrationType:: + oadrReportOnly (const oadrReportOnly_type& x) + { + this->oadrReportOnly_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrXmlSignature_type& oadrCreatePartyRegistrationType:: + oadrXmlSignature () const + { + return this->oadrXmlSignature_.get (); + } + + oadrCreatePartyRegistrationType::oadrXmlSignature_type& oadrCreatePartyRegistrationType:: + oadrXmlSignature () + { + return this->oadrXmlSignature_.get (); + } + + void oadrCreatePartyRegistrationType:: + oadrXmlSignature (const oadrXmlSignature_type& x) + { + this->oadrXmlSignature_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrVenName_optional& oadrCreatePartyRegistrationType:: + oadrVenName () const + { + return this->oadrVenName_; + } + + oadrCreatePartyRegistrationType::oadrVenName_optional& oadrCreatePartyRegistrationType:: + oadrVenName () + { + return this->oadrVenName_; + } + + void oadrCreatePartyRegistrationType:: + oadrVenName (const oadrVenName_type& x) + { + this->oadrVenName_.set (x); + } + + void oadrCreatePartyRegistrationType:: + oadrVenName (const oadrVenName_optional& x) + { + this->oadrVenName_ = x; + } + + void oadrCreatePartyRegistrationType:: + oadrVenName (::std::auto_ptr< oadrVenName_type > x) + { + this->oadrVenName_.set (x); + } + + const oadrCreatePartyRegistrationType::oadrHttpPullModel_optional& oadrCreatePartyRegistrationType:: + oadrHttpPullModel () const + { + return this->oadrHttpPullModel_; + } + + oadrCreatePartyRegistrationType::oadrHttpPullModel_optional& oadrCreatePartyRegistrationType:: + oadrHttpPullModel () + { + return this->oadrHttpPullModel_; + } + + void oadrCreatePartyRegistrationType:: + oadrHttpPullModel (const oadrHttpPullModel_type& x) + { + this->oadrHttpPullModel_.set (x); + } + + void oadrCreatePartyRegistrationType:: + oadrHttpPullModel (const oadrHttpPullModel_optional& x) + { + this->oadrHttpPullModel_ = x; + } + + const oadrCreatePartyRegistrationType::schemaVersion_optional& oadrCreatePartyRegistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreatePartyRegistrationType::schemaVersion_optional& oadrCreatePartyRegistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreatePartyRegistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreatePartyRegistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreatePartyRegistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatePartyRegistrationType + // + + oadrCreatePartyRegistrationType:: + oadrCreatePartyRegistrationType (const requestID_type& requestID, + const oadrProfileName_type& oadrProfileName, + const oadrTransportName_type& oadrTransportName, + const oadrReportOnly_type& oadrReportOnly, + const oadrXmlSignature_type& oadrXmlSignature) + : ::xml_schema::type (), + requestID_ (requestID, this), + registrationID_ (this), + venID_ (this), + oadrProfileName_ (oadrProfileName, this), + oadrTransportName_ (oadrTransportName, this), + oadrTransportAddress_ (this), + oadrReportOnly_ (oadrReportOnly, this), + oadrXmlSignature_ (oadrXmlSignature, this), + oadrVenName_ (this), + oadrHttpPullModel_ (this), + schemaVersion_ (this) + { + } + + oadrCreatePartyRegistrationType:: + oadrCreatePartyRegistrationType (::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< oadrProfileName_type > oadrProfileName, + ::std::auto_ptr< oadrTransportName_type > oadrTransportName, + const oadrReportOnly_type& oadrReportOnly, + const oadrXmlSignature_type& oadrXmlSignature) + : ::xml_schema::type (), + requestID_ (requestID, this), + registrationID_ (this), + venID_ (this), + oadrProfileName_ (oadrProfileName, this), + oadrTransportName_ (oadrTransportName, this), + oadrTransportAddress_ (this), + oadrReportOnly_ (oadrReportOnly, this), + oadrXmlSignature_ (oadrXmlSignature, this), + oadrVenName_ (this), + oadrHttpPullModel_ (this), + schemaVersion_ (this) + { + } + + oadrCreatePartyRegistrationType:: + oadrCreatePartyRegistrationType (const oadrCreatePartyRegistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + registrationID_ (x.registrationID_, f, this), + venID_ (x.venID_, f, this), + oadrProfileName_ (x.oadrProfileName_, f, this), + oadrTransportName_ (x.oadrTransportName_, f, this), + oadrTransportAddress_ (x.oadrTransportAddress_, f, this), + oadrReportOnly_ (x.oadrReportOnly_, f, this), + oadrXmlSignature_ (x.oadrXmlSignature_, f, this), + oadrVenName_ (x.oadrVenName_, f, this), + oadrHttpPullModel_ (x.oadrHttpPullModel_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreatePartyRegistrationType:: + oadrCreatePartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + registrationID_ (this), + venID_ (this), + oadrProfileName_ (this), + oadrTransportName_ (this), + oadrTransportAddress_ (this), + oadrReportOnly_ (this), + oadrXmlSignature_ (this), + oadrVenName_ (this), + oadrHttpPullModel_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreatePartyRegistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // registrationID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< registrationID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->registrationID_) + { + ::std::auto_ptr< registrationID_type > r ( + dynamic_cast< registrationID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->registrationID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + // oadrProfileName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrProfileName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrProfileName_.present ()) + { + ::std::auto_ptr< oadrProfileName_type > r ( + dynamic_cast< oadrProfileName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrProfileName_.set (r); + continue; + } + } + } + + // oadrTransportName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrTransportName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrTransportName_.present ()) + { + ::std::auto_ptr< oadrTransportName_type > r ( + dynamic_cast< oadrTransportName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrTransportName_.set (r); + continue; + } + } + } + + // oadrTransportAddress + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrTransportAddress_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrTransportAddress_) + { + ::std::auto_ptr< oadrTransportAddress_type > r ( + dynamic_cast< oadrTransportAddress_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrTransportAddress_.set (r); + continue; + } + } + } + + // oadrReportOnly + // + if (n.name () == "oadrReportOnly" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrReportOnly_.present ()) + { + this->oadrReportOnly_.set (oadrReportOnly_traits::create (i, f, this)); + continue; + } + } + + // oadrXmlSignature + // + if (n.name () == "oadrXmlSignature" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrXmlSignature_.present ()) + { + this->oadrXmlSignature_.set (oadrXmlSignature_traits::create (i, f, this)); + continue; + } + } + + // oadrVenName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrVenName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrVenName_) + { + ::std::auto_ptr< oadrVenName_type > r ( + dynamic_cast< oadrVenName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrVenName_.set (r); + continue; + } + } + } + + // oadrHttpPullModel + // + if (n.name () == "oadrHttpPullModel" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!this->oadrHttpPullModel_) + { + this->oadrHttpPullModel_.set (oadrHttpPullModel_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!oadrProfileName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrTransportName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrReportOnly_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrXmlSignature_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreatePartyRegistrationType* oadrCreatePartyRegistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreatePartyRegistrationType (*this, f, c); + } + + oadrCreatePartyRegistrationType& oadrCreatePartyRegistrationType:: + operator= (const oadrCreatePartyRegistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->registrationID_ = x.registrationID_; + this->venID_ = x.venID_; + this->oadrProfileName_ = x.oadrProfileName_; + this->oadrTransportName_ = x.oadrTransportName_; + this->oadrTransportAddress_ = x.oadrTransportAddress_; + this->oadrReportOnly_ = x.oadrReportOnly_; + this->oadrXmlSignature_ = x.oadrXmlSignature_; + this->oadrVenName_ = x.oadrVenName_; + this->oadrHttpPullModel_ = x.oadrHttpPullModel_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreatePartyRegistrationType:: + ~oadrCreatePartyRegistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreatePartyRegistrationType > + _xsd_oadrCreatePartyRegistrationType_type_factory_init ( + "oadrCreatePartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreatePartyRegistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatePartyRegistrationType::requestID_type& x (i.requestID ()); + if (typeid (oadrCreatePartyRegistrationType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // registrationID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.registrationID ()) + { + const oadrCreatePartyRegistrationType::registrationID_type& x (*i.registrationID ()); + if (typeid (oadrCreatePartyRegistrationType::registrationID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCreatePartyRegistrationType::venID_type& x (*i.venID ()); + if (typeid (oadrCreatePartyRegistrationType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // oadrProfileName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatePartyRegistrationType::oadrProfileName_type& x (i.oadrProfileName ()); + if (typeid (oadrCreatePartyRegistrationType::oadrProfileName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // oadrTransportName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatePartyRegistrationType::oadrTransportName_type& x (i.oadrTransportName ()); + if (typeid (oadrCreatePartyRegistrationType::oadrTransportName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // oadrTransportAddress + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrTransportAddress ()) + { + const oadrCreatePartyRegistrationType::oadrTransportAddress_type& x (*i.oadrTransportAddress ()); + if (typeid (oadrCreatePartyRegistrationType::oadrTransportAddress_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrReportOnly + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrReportOnly (); + } + + // oadrXmlSignature + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrXmlSignature (); + } + + // oadrVenName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrVenName ()) + { + const oadrCreatePartyRegistrationType::oadrVenName_type& x (*i.oadrVenName ()); + if (typeid (oadrCreatePartyRegistrationType::oadrVenName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrHttpPullModel + // + if (i.oadrHttpPullModel ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrHttpPullModel", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrHttpPullModel (); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreatePartyRegistrationType > + _xsd_oadrCreatePartyRegistrationType_type_serializer_init ( + "oadrCreatePartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.hxx b/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.hxx new file mode 100644 index 0000000..41b711e --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatePartyRegistrationType.hxx @@ -0,0 +1,607 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATE_PARTY_REGISTRATION_TYPE_HXX +#define OADR_CREATE_PARTY_REGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreatePartyRegistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class UidType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrProfileType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrTransportType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatePartyRegistrationType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // registrationID + // + typedef ::oadr2b::ei::UidType registrationID_type; + typedef ::xsd::cxx::tree::optional< registrationID_type > registrationID_optional; + typedef ::xsd::cxx::tree::traits< registrationID_type, char > registrationID_traits; + + const registrationID_optional& + registrationID () const; + + registrationID_optional& + registrationID (); + + void + registrationID (const registrationID_type& x); + + void + registrationID (const registrationID_optional& x); + + void + registrationID (::std::auto_ptr< registrationID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // oadrProfileName + // + typedef ::oadr2b::oadr::oadrProfileType oadrProfileName_type; + typedef ::xsd::cxx::tree::traits< oadrProfileName_type, char > oadrProfileName_traits; + + const oadrProfileName_type& + oadrProfileName () const; + + oadrProfileName_type& + oadrProfileName (); + + void + oadrProfileName (const oadrProfileName_type& x); + + void + oadrProfileName (::std::auto_ptr< oadrProfileName_type > p); + + // oadrTransportName + // + typedef ::oadr2b::oadr::oadrTransportType oadrTransportName_type; + typedef ::xsd::cxx::tree::traits< oadrTransportName_type, char > oadrTransportName_traits; + + const oadrTransportName_type& + oadrTransportName () const; + + oadrTransportName_type& + oadrTransportName (); + + void + oadrTransportName (const oadrTransportName_type& x); + + void + oadrTransportName (::std::auto_ptr< oadrTransportName_type > p); + + // oadrTransportAddress + // + typedef ::xml_schema::string oadrTransportAddress_type; + typedef ::xsd::cxx::tree::optional< oadrTransportAddress_type > oadrTransportAddress_optional; + typedef ::xsd::cxx::tree::traits< oadrTransportAddress_type, char > oadrTransportAddress_traits; + + const oadrTransportAddress_optional& + oadrTransportAddress () const; + + oadrTransportAddress_optional& + oadrTransportAddress (); + + void + oadrTransportAddress (const oadrTransportAddress_type& x); + + void + oadrTransportAddress (const oadrTransportAddress_optional& x); + + void + oadrTransportAddress (::std::auto_ptr< oadrTransportAddress_type > p); + + // oadrReportOnly + // + typedef ::xml_schema::boolean oadrReportOnly_type; + typedef ::xsd::cxx::tree::traits< oadrReportOnly_type, char > oadrReportOnly_traits; + + const oadrReportOnly_type& + oadrReportOnly () const; + + oadrReportOnly_type& + oadrReportOnly (); + + void + oadrReportOnly (const oadrReportOnly_type& x); + + // oadrXmlSignature + // + typedef ::xml_schema::boolean oadrXmlSignature_type; + typedef ::xsd::cxx::tree::traits< oadrXmlSignature_type, char > oadrXmlSignature_traits; + + const oadrXmlSignature_type& + oadrXmlSignature () const; + + oadrXmlSignature_type& + oadrXmlSignature (); + + void + oadrXmlSignature (const oadrXmlSignature_type& x); + + // oadrVenName + // + typedef ::xml_schema::string oadrVenName_type; + typedef ::xsd::cxx::tree::optional< oadrVenName_type > oadrVenName_optional; + typedef ::xsd::cxx::tree::traits< oadrVenName_type, char > oadrVenName_traits; + + const oadrVenName_optional& + oadrVenName () const; + + oadrVenName_optional& + oadrVenName (); + + void + oadrVenName (const oadrVenName_type& x); + + void + oadrVenName (const oadrVenName_optional& x); + + void + oadrVenName (::std::auto_ptr< oadrVenName_type > p); + + // oadrHttpPullModel + // + typedef ::xml_schema::boolean oadrHttpPullModel_type; + typedef ::xsd::cxx::tree::optional< oadrHttpPullModel_type > oadrHttpPullModel_optional; + typedef ::xsd::cxx::tree::traits< oadrHttpPullModel_type, char > oadrHttpPullModel_traits; + + const oadrHttpPullModel_optional& + oadrHttpPullModel () const; + + oadrHttpPullModel_optional& + oadrHttpPullModel (); + + void + oadrHttpPullModel (const oadrHttpPullModel_type& x); + + void + oadrHttpPullModel (const oadrHttpPullModel_optional& x); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreatePartyRegistrationType (const requestID_type&, + const oadrProfileName_type&, + const oadrTransportName_type&, + const oadrReportOnly_type&, + const oadrXmlSignature_type&); + + oadrCreatePartyRegistrationType (::std::auto_ptr< requestID_type >, + ::std::auto_ptr< oadrProfileName_type >, + ::std::auto_ptr< oadrTransportName_type >, + const oadrReportOnly_type&, + const oadrXmlSignature_type&); + + oadrCreatePartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreatePartyRegistrationType (const oadrCreatePartyRegistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreatePartyRegistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreatePartyRegistrationType& + operator= (const oadrCreatePartyRegistrationType& x); + + virtual + ~oadrCreatePartyRegistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + registrationID_optional registrationID_; + venID_optional venID_; + ::xsd::cxx::tree::one< oadrProfileName_type > oadrProfileName_; + ::xsd::cxx::tree::one< oadrTransportName_type > oadrTransportName_; + oadrTransportAddress_optional oadrTransportAddress_; + ::xsd::cxx::tree::one< oadrReportOnly_type > oadrReportOnly_; + ::xsd::cxx::tree::one< oadrXmlSignature_type > oadrXmlSignature_; + oadrVenName_optional oadrVenName_; + oadrHttpPullModel_optional oadrHttpPullModel_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreatePartyRegistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATE_PARTY_REGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreateReportType.cxx b/oadrsd/oadrsd/2b/oadrCreateReportType.cxx new file mode 100644 index 0000000..8a958c1 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreateReportType.cxx @@ -0,0 +1,515 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreateReportType.hxx" + +#include "oadrReportRequestType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreateReportType + // + + const oadrCreateReportType::requestID_type& oadrCreateReportType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrCreateReportType::requestID_type& oadrCreateReportType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrCreateReportType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrCreateReportType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrCreateReportType::oadrReportRequest_sequence& oadrCreateReportType:: + oadrReportRequest () const + { + return this->oadrReportRequest_; + } + + oadrCreateReportType::oadrReportRequest_sequence& oadrCreateReportType:: + oadrReportRequest () + { + return this->oadrReportRequest_; + } + + void oadrCreateReportType:: + oadrReportRequest (const oadrReportRequest_sequence& s) + { + this->oadrReportRequest_ = s; + } + + const oadrCreateReportType::venID_optional& oadrCreateReportType:: + venID () const + { + return this->venID_; + } + + oadrCreateReportType::venID_optional& oadrCreateReportType:: + venID () + { + return this->venID_; + } + + void oadrCreateReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCreateReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCreateReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCreateReportType::schemaVersion_optional& oadrCreateReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreateReportType::schemaVersion_optional& oadrCreateReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreateReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreateReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreateReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreateReportType + // + + oadrCreateReportType:: + oadrCreateReportType (const requestID_type& requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCreateReportType:: + oadrCreateReportType (::std::auto_ptr< requestID_type > requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCreateReportType:: + oadrCreateReportType (const oadrCreateReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + oadrReportRequest_ (x.oadrReportRequest_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreateReportType:: + oadrCreateReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreateReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // oadrReportRequest + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrReportRequest_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< oadrReportRequest_type > r ( + dynamic_cast< oadrReportRequest_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrReportRequest_.push_back (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreateReportType* oadrCreateReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreateReportType (*this, f, c); + } + + oadrCreateReportType& oadrCreateReportType:: + operator= (const oadrCreateReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->oadrReportRequest_ = x.oadrReportRequest_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreateReportType:: + ~oadrCreateReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreateReportType > + _xsd_oadrCreateReportType_type_factory_init ( + "oadrCreateReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreateReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreateReportType::requestID_type& x (i.requestID ()); + if (typeid (oadrCreateReportType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // oadrReportRequest + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrCreateReportType::oadrReportRequest_const_iterator + b (i.oadrReportRequest ().begin ()), n (i.oadrReportRequest ().end ()); + b != n; ++b) + { + if (typeid (oadrCreateReportType::oadrReportRequest_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + else + tsm.serialize ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, *b); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCreateReportType::venID_type& x (*i.venID ()); + if (typeid (oadrCreateReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreateReportType > + _xsd_oadrCreateReportType_type_serializer_init ( + "oadrCreateReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreateReportType.hxx b/oadrsd/oadrsd/2b/oadrCreateReportType.hxx new file mode 100644 index 0000000..3967f36 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreateReportType.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATE_REPORT_TYPE_HXX +#define OADR_CREATE_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreateReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrReportRequestType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreateReportType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // oadrReportRequest + // + typedef ::oadr2b::oadr::oadrReportRequestType oadrReportRequest_type; + typedef ::xsd::cxx::tree::sequence< oadrReportRequest_type > oadrReportRequest_sequence; + typedef oadrReportRequest_sequence::iterator oadrReportRequest_iterator; + typedef oadrReportRequest_sequence::const_iterator oadrReportRequest_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrReportRequest_type, char > oadrReportRequest_traits; + + const oadrReportRequest_sequence& + oadrReportRequest () const; + + oadrReportRequest_sequence& + oadrReportRequest (); + + void + oadrReportRequest (const oadrReportRequest_sequence& s); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreateReportType (const requestID_type&); + + oadrCreateReportType (::std::auto_ptr< requestID_type >); + + oadrCreateReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreateReportType (const oadrCreateReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreateReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreateReportType& + operator= (const oadrCreateReportType& x); + + virtual + ~oadrCreateReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + oadrReportRequest_sequence oadrReportRequest_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreateReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATE_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreatedEventType.cxx b/oadrsd/oadrsd/2b/oadrCreatedEventType.cxx new file mode 100644 index 0000000..f3b33c8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedEventType.cxx @@ -0,0 +1,323 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreatedEventType.hxx" + +#include "eiCreatedEvent.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedEventType + // + + const oadrCreatedEventType::eiCreatedEvent_type& oadrCreatedEventType:: + eiCreatedEvent () const + { + return this->eiCreatedEvent_.get (); + } + + oadrCreatedEventType::eiCreatedEvent_type& oadrCreatedEventType:: + eiCreatedEvent () + { + return this->eiCreatedEvent_.get (); + } + + void oadrCreatedEventType:: + eiCreatedEvent (const eiCreatedEvent_type& x) + { + this->eiCreatedEvent_.set (x); + } + + void oadrCreatedEventType:: + eiCreatedEvent (::std::auto_ptr< eiCreatedEvent_type > x) + { + this->eiCreatedEvent_.set (x); + } + + const oadrCreatedEventType::schemaVersion_optional& oadrCreatedEventType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreatedEventType::schemaVersion_optional& oadrCreatedEventType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreatedEventType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreatedEventType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreatedEventType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedEventType + // + + oadrCreatedEventType:: + oadrCreatedEventType (const eiCreatedEvent_type& eiCreatedEvent) + : ::xml_schema::type (), + eiCreatedEvent_ (eiCreatedEvent, this), + schemaVersion_ (this) + { + } + + oadrCreatedEventType:: + oadrCreatedEventType (::std::auto_ptr< eiCreatedEvent_type > eiCreatedEvent) + : ::xml_schema::type (), + eiCreatedEvent_ (eiCreatedEvent, this), + schemaVersion_ (this) + { + } + + oadrCreatedEventType:: + oadrCreatedEventType (const oadrCreatedEventType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiCreatedEvent_ (x.eiCreatedEvent_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreatedEventType:: + oadrCreatedEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiCreatedEvent_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreatedEventType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiCreatedEvent + // + if (n.name () == "eiCreatedEvent" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< eiCreatedEvent_type > r ( + eiCreatedEvent_traits::create (i, f, this)); + + if (!eiCreatedEvent_.present ()) + { + this->eiCreatedEvent_.set (r); + continue; + } + } + + break; + } + + if (!eiCreatedEvent_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreatedEventType* oadrCreatedEventType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreatedEventType (*this, f, c); + } + + oadrCreatedEventType& oadrCreatedEventType:: + operator= (const oadrCreatedEventType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiCreatedEvent_ = x.eiCreatedEvent_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreatedEventType:: + ~oadrCreatedEventType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreatedEventType > + _xsd_oadrCreatedEventType_type_factory_init ( + "oadrCreatedEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreatedEventType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiCreatedEvent + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << i.eiCreatedEvent (); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreatedEventType > + _xsd_oadrCreatedEventType_type_serializer_init ( + "oadrCreatedEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreatedEventType.hxx b/oadrsd/oadrsd/2b/oadrCreatedEventType.hxx new file mode 100644 index 0000000..67a2b85 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedEventType.hxx @@ -0,0 +1,407 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATED_EVENT_TYPE_HXX +#define OADR_CREATED_EVENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedEventType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace payloads +{ + class eiCreatedEvent; +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedEventType: public ::xml_schema::type + { + public: + // eiCreatedEvent + // + typedef ::payloads::eiCreatedEvent eiCreatedEvent_type; + typedef ::xsd::cxx::tree::traits< eiCreatedEvent_type, char > eiCreatedEvent_traits; + + const eiCreatedEvent_type& + eiCreatedEvent () const; + + eiCreatedEvent_type& + eiCreatedEvent (); + + void + eiCreatedEvent (const eiCreatedEvent_type& x); + + void + eiCreatedEvent (::std::auto_ptr< eiCreatedEvent_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreatedEventType (const eiCreatedEvent_type&); + + oadrCreatedEventType (::std::auto_ptr< eiCreatedEvent_type >); + + oadrCreatedEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreatedEventType (const oadrCreatedEventType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreatedEventType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreatedEventType& + operator= (const oadrCreatedEventType& x); + + virtual + ~oadrCreatedEventType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiCreatedEvent_type > eiCreatedEvent_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreatedEventType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATED_EVENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreatedOptType.cxx b/oadrsd/oadrsd/2b/oadrCreatedOptType.cxx new file mode 100644 index 0000000..754ed93 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedOptType.cxx @@ -0,0 +1,449 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreatedOptType.hxx" + +#include "EiResponseType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedOptType + // + + const oadrCreatedOptType::eiResponse_type& oadrCreatedOptType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCreatedOptType::eiResponse_type& oadrCreatedOptType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCreatedOptType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCreatedOptType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCreatedOptType::optID_type& oadrCreatedOptType:: + optID () const + { + return this->optID_.get (); + } + + oadrCreatedOptType::optID_type& oadrCreatedOptType:: + optID () + { + return this->optID_.get (); + } + + void oadrCreatedOptType:: + optID (const optID_type& x) + { + this->optID_.set (x); + } + + void oadrCreatedOptType:: + optID (::std::auto_ptr< optID_type > x) + { + this->optID_.set (x); + } + + const oadrCreatedOptType::schemaVersion_optional& oadrCreatedOptType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreatedOptType::schemaVersion_optional& oadrCreatedOptType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreatedOptType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreatedOptType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreatedOptType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedOptType + // + + oadrCreatedOptType:: + oadrCreatedOptType (const eiResponse_type& eiResponse, + const optID_type& optID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + optID_ (optID, this), + schemaVersion_ (this) + { + } + + oadrCreatedOptType:: + oadrCreatedOptType (::std::auto_ptr< eiResponse_type > eiResponse, + const optID_type& optID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + optID_ (optID, this), + schemaVersion_ (this) + { + } + + oadrCreatedOptType:: + oadrCreatedOptType (::std::auto_ptr< eiResponse_type > eiResponse, + ::std::auto_ptr< optID_type > optID) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + optID_ (optID, this), + schemaVersion_ (this) + { + } + + oadrCreatedOptType:: + oadrCreatedOptType (const oadrCreatedOptType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + optID_ (x.optID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreatedOptType:: + oadrCreatedOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + optID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreatedOptType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // optID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< optID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!optID_.present ()) + { + ::std::auto_ptr< optID_type > r ( + dynamic_cast< optID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->optID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!optID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreatedOptType* oadrCreatedOptType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreatedOptType (*this, f, c); + } + + oadrCreatedOptType& oadrCreatedOptType:: + operator= (const oadrCreatedOptType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->optID_ = x.optID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreatedOptType:: + ~oadrCreatedOptType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreatedOptType > + _xsd_oadrCreatedOptType_type_factory_init ( + "oadrCreatedOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreatedOptType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedOptType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCreatedOptType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // optID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedOptType::optID_type& x (i.optID ()); + if (typeid (oadrCreatedOptType::optID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreatedOptType > + _xsd_oadrCreatedOptType_type_serializer_init ( + "oadrCreatedOptType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreatedOptType.hxx b/oadrsd/oadrsd/2b/oadrCreatedOptType.hxx new file mode 100644 index 0000000..2706ee4 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedOptType.hxx @@ -0,0 +1,433 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATED_OPT_TYPE_HXX +#define OADR_CREATED_OPT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedOptType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedOptType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // optID + // + typedef ::xml_schema::string optID_type; + typedef ::xsd::cxx::tree::traits< optID_type, char > optID_traits; + + const optID_type& + optID () const; + + optID_type& + optID (); + + void + optID (const optID_type& x); + + void + optID (::std::auto_ptr< optID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreatedOptType (const eiResponse_type&, + const optID_type&); + + oadrCreatedOptType (::std::auto_ptr< eiResponse_type >, + const optID_type&); + + oadrCreatedOptType (::std::auto_ptr< eiResponse_type >, + ::std::auto_ptr< optID_type >); + + oadrCreatedOptType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreatedOptType (const oadrCreatedOptType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreatedOptType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreatedOptType& + operator= (const oadrCreatedOptType& x); + + virtual + ~oadrCreatedOptType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + ::xsd::cxx::tree::one< optID_type > optID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreatedOptType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATED_OPT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.cxx b/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.cxx new file mode 100644 index 0000000..b4c257f --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.cxx @@ -0,0 +1,924 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreatedPartyRegistrationType.hxx" + +#include "EiResponseType.hxx" + +#include "UidType.hxx" + +#include "oadrProfiles.hxx" + +#include "DurationPropType.hxx" + +#include "oadrServiceSpecificInfo.hxx" + +#include "oadrExtensions.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedPartyRegistrationType + // + + const oadrCreatedPartyRegistrationType::eiResponse_type& oadrCreatedPartyRegistrationType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCreatedPartyRegistrationType::eiResponse_type& oadrCreatedPartyRegistrationType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCreatedPartyRegistrationType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCreatedPartyRegistrationType::registrationID_optional& oadrCreatedPartyRegistrationType:: + registrationID () const + { + return this->registrationID_; + } + + oadrCreatedPartyRegistrationType::registrationID_optional& oadrCreatedPartyRegistrationType:: + registrationID () + { + return this->registrationID_; + } + + void oadrCreatedPartyRegistrationType:: + registrationID (const registrationID_type& x) + { + this->registrationID_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + registrationID (const registrationID_optional& x) + { + this->registrationID_ = x; + } + + void oadrCreatedPartyRegistrationType:: + registrationID (::std::auto_ptr< registrationID_type > x) + { + this->registrationID_.set (x); + } + + const oadrCreatedPartyRegistrationType::venID_optional& oadrCreatedPartyRegistrationType:: + venID () const + { + return this->venID_; + } + + oadrCreatedPartyRegistrationType::venID_optional& oadrCreatedPartyRegistrationType:: + venID () + { + return this->venID_; + } + + void oadrCreatedPartyRegistrationType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCreatedPartyRegistrationType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCreatedPartyRegistrationType::vtnID_type& oadrCreatedPartyRegistrationType:: + vtnID () const + { + return this->vtnID_.get (); + } + + oadrCreatedPartyRegistrationType::vtnID_type& oadrCreatedPartyRegistrationType:: + vtnID () + { + return this->vtnID_.get (); + } + + void oadrCreatedPartyRegistrationType:: + vtnID (const vtnID_type& x) + { + this->vtnID_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + vtnID (::std::auto_ptr< vtnID_type > x) + { + this->vtnID_.set (x); + } + + const oadrCreatedPartyRegistrationType::oadrProfiles_type& oadrCreatedPartyRegistrationType:: + oadrProfiles () const + { + return this->oadrProfiles_.get (); + } + + oadrCreatedPartyRegistrationType::oadrProfiles_type& oadrCreatedPartyRegistrationType:: + oadrProfiles () + { + return this->oadrProfiles_.get (); + } + + void oadrCreatedPartyRegistrationType:: + oadrProfiles (const oadrProfiles_type& x) + { + this->oadrProfiles_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + oadrProfiles (::std::auto_ptr< oadrProfiles_type > x) + { + this->oadrProfiles_.set (x); + } + + const oadrCreatedPartyRegistrationType::oadrRequestedOadrPollFreq_optional& oadrCreatedPartyRegistrationType:: + oadrRequestedOadrPollFreq () const + { + return this->oadrRequestedOadrPollFreq_; + } + + oadrCreatedPartyRegistrationType::oadrRequestedOadrPollFreq_optional& oadrCreatedPartyRegistrationType:: + oadrRequestedOadrPollFreq () + { + return this->oadrRequestedOadrPollFreq_; + } + + void oadrCreatedPartyRegistrationType:: + oadrRequestedOadrPollFreq (const oadrRequestedOadrPollFreq_type& x) + { + this->oadrRequestedOadrPollFreq_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + oadrRequestedOadrPollFreq (const oadrRequestedOadrPollFreq_optional& x) + { + this->oadrRequestedOadrPollFreq_ = x; + } + + void oadrCreatedPartyRegistrationType:: + oadrRequestedOadrPollFreq (::std::auto_ptr< oadrRequestedOadrPollFreq_type > x) + { + this->oadrRequestedOadrPollFreq_.set (x); + } + + const oadrCreatedPartyRegistrationType::oadrServiceSpecificInfo_optional& oadrCreatedPartyRegistrationType:: + oadrServiceSpecificInfo () const + { + return this->oadrServiceSpecificInfo_; + } + + oadrCreatedPartyRegistrationType::oadrServiceSpecificInfo_optional& oadrCreatedPartyRegistrationType:: + oadrServiceSpecificInfo () + { + return this->oadrServiceSpecificInfo_; + } + + void oadrCreatedPartyRegistrationType:: + oadrServiceSpecificInfo (const oadrServiceSpecificInfo_type& x) + { + this->oadrServiceSpecificInfo_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + oadrServiceSpecificInfo (const oadrServiceSpecificInfo_optional& x) + { + this->oadrServiceSpecificInfo_ = x; + } + + void oadrCreatedPartyRegistrationType:: + oadrServiceSpecificInfo (::std::auto_ptr< oadrServiceSpecificInfo_type > x) + { + this->oadrServiceSpecificInfo_.set (x); + } + + const oadrCreatedPartyRegistrationType::oadrExtensions_optional& oadrCreatedPartyRegistrationType:: + oadrExtensions () const + { + return this->oadrExtensions_; + } + + oadrCreatedPartyRegistrationType::oadrExtensions_optional& oadrCreatedPartyRegistrationType:: + oadrExtensions () + { + return this->oadrExtensions_; + } + + void oadrCreatedPartyRegistrationType:: + oadrExtensions (const oadrExtensions_type& x) + { + this->oadrExtensions_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + oadrExtensions (const oadrExtensions_optional& x) + { + this->oadrExtensions_ = x; + } + + void oadrCreatedPartyRegistrationType:: + oadrExtensions (::std::auto_ptr< oadrExtensions_type > x) + { + this->oadrExtensions_.set (x); + } + + const oadrCreatedPartyRegistrationType::schemaVersion_optional& oadrCreatedPartyRegistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreatedPartyRegistrationType::schemaVersion_optional& oadrCreatedPartyRegistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreatedPartyRegistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreatedPartyRegistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreatedPartyRegistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedPartyRegistrationType + // + + oadrCreatedPartyRegistrationType:: + oadrCreatedPartyRegistrationType (const eiResponse_type& eiResponse, + const vtnID_type& vtnID, + const oadrProfiles_type& oadrProfiles) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + registrationID_ (this), + venID_ (this), + vtnID_ (vtnID, this), + oadrProfiles_ (oadrProfiles, this), + oadrRequestedOadrPollFreq_ (this), + oadrServiceSpecificInfo_ (this), + oadrExtensions_ (this), + schemaVersion_ (this) + { + } + + oadrCreatedPartyRegistrationType:: + oadrCreatedPartyRegistrationType (::std::auto_ptr< eiResponse_type > eiResponse, + const vtnID_type& vtnID, + ::std::auto_ptr< oadrProfiles_type > oadrProfiles) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + registrationID_ (this), + venID_ (this), + vtnID_ (vtnID, this), + oadrProfiles_ (oadrProfiles, this), + oadrRequestedOadrPollFreq_ (this), + oadrServiceSpecificInfo_ (this), + oadrExtensions_ (this), + schemaVersion_ (this) + { + } + + oadrCreatedPartyRegistrationType:: + oadrCreatedPartyRegistrationType (::std::auto_ptr< eiResponse_type > eiResponse, + ::std::auto_ptr< vtnID_type > vtnID, + ::std::auto_ptr< oadrProfiles_type > oadrProfiles) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + registrationID_ (this), + venID_ (this), + vtnID_ (vtnID, this), + oadrProfiles_ (oadrProfiles, this), + oadrRequestedOadrPollFreq_ (this), + oadrServiceSpecificInfo_ (this), + oadrExtensions_ (this), + schemaVersion_ (this) + { + } + + oadrCreatedPartyRegistrationType:: + oadrCreatedPartyRegistrationType (const oadrCreatedPartyRegistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + registrationID_ (x.registrationID_, f, this), + venID_ (x.venID_, f, this), + vtnID_ (x.vtnID_, f, this), + oadrProfiles_ (x.oadrProfiles_, f, this), + oadrRequestedOadrPollFreq_ (x.oadrRequestedOadrPollFreq_, f, this), + oadrServiceSpecificInfo_ (x.oadrServiceSpecificInfo_, f, this), + oadrExtensions_ (x.oadrExtensions_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreatedPartyRegistrationType:: + oadrCreatedPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + registrationID_ (this), + venID_ (this), + vtnID_ (this), + oadrProfiles_ (this), + oadrRequestedOadrPollFreq_ (this), + oadrServiceSpecificInfo_ (this), + oadrExtensions_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreatedPartyRegistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // registrationID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< registrationID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->registrationID_) + { + ::std::auto_ptr< registrationID_type > r ( + dynamic_cast< registrationID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->registrationID_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + // vtnID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< vtnID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!vtnID_.present ()) + { + ::std::auto_ptr< vtnID_type > r ( + dynamic_cast< vtnID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->vtnID_.set (r); + continue; + } + } + } + + // oadrProfiles + // + if (n.name () == "oadrProfiles" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrProfiles_type > r ( + oadrProfiles_traits::create (i, f, this)); + + if (!oadrProfiles_.present ()) + { + this->oadrProfiles_.set (r); + continue; + } + } + + // oadrRequestedOadrPollFreq + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrRequestedOadrPollFreq_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrRequestedOadrPollFreq_) + { + ::std::auto_ptr< oadrRequestedOadrPollFreq_type > r ( + dynamic_cast< oadrRequestedOadrPollFreq_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrRequestedOadrPollFreq_.set (r); + continue; + } + } + } + + // oadrServiceSpecificInfo + // + if (n.name () == "oadrServiceSpecificInfo" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrServiceSpecificInfo_type > r ( + oadrServiceSpecificInfo_traits::create (i, f, this)); + + if (!this->oadrServiceSpecificInfo_) + { + this->oadrServiceSpecificInfo_.set (r); + continue; + } + } + + // oadrExtensions + // + if (n.name () == "oadrExtensions" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrExtensions_type > r ( + oadrExtensions_traits::create (i, f, this)); + + if (!this->oadrExtensions_) + { + this->oadrExtensions_.set (r); + continue; + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!vtnID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!oadrProfiles_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreatedPartyRegistrationType* oadrCreatedPartyRegistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreatedPartyRegistrationType (*this, f, c); + } + + oadrCreatedPartyRegistrationType& oadrCreatedPartyRegistrationType:: + operator= (const oadrCreatedPartyRegistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->registrationID_ = x.registrationID_; + this->venID_ = x.venID_; + this->vtnID_ = x.vtnID_; + this->oadrProfiles_ = x.oadrProfiles_; + this->oadrRequestedOadrPollFreq_ = x.oadrRequestedOadrPollFreq_; + this->oadrServiceSpecificInfo_ = x.oadrServiceSpecificInfo_; + this->oadrExtensions_ = x.oadrExtensions_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreatedPartyRegistrationType:: + ~oadrCreatedPartyRegistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreatedPartyRegistrationType > + _xsd_oadrCreatedPartyRegistrationType_type_factory_init ( + "oadrCreatedPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreatedPartyRegistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedPartyRegistrationType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCreatedPartyRegistrationType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // registrationID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.registrationID ()) + { + const oadrCreatedPartyRegistrationType::registrationID_type& x (*i.registrationID ()); + if (typeid (oadrCreatedPartyRegistrationType::registrationID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCreatedPartyRegistrationType::venID_type& x (*i.venID ()); + if (typeid (oadrCreatedPartyRegistrationType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // vtnID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedPartyRegistrationType::vtnID_type& x (i.vtnID ()); + if (typeid (oadrCreatedPartyRegistrationType::vtnID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrProfiles + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrProfiles (); + } + + // oadrRequestedOadrPollFreq + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrRequestedOadrPollFreq ()) + { + const oadrCreatedPartyRegistrationType::oadrRequestedOadrPollFreq_type& x (*i.oadrRequestedOadrPollFreq ()); + if (typeid (oadrCreatedPartyRegistrationType::oadrRequestedOadrPollFreq_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrServiceSpecificInfo + // + if (i.oadrServiceSpecificInfo ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrServiceSpecificInfo", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrServiceSpecificInfo (); + } + + // oadrExtensions + // + if (i.oadrExtensions ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrExtensions", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrExtensions (); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreatedPartyRegistrationType > + _xsd_oadrCreatedPartyRegistrationType_type_serializer_init ( + "oadrCreatedPartyRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.hxx b/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.hxx new file mode 100644 index 0000000..e3478d8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedPartyRegistrationType.hxx @@ -0,0 +1,601 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATED_PARTY_REGISTRATION_TYPE_HXX +#define OADR_CREATED_PARTY_REGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedPartyRegistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class UidType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrProfiles; + } +} + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace oadr2b +{ + namespace oadr + { + class oadrServiceSpecificInfo; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrExtensions; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedPartyRegistrationType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // registrationID + // + typedef ::oadr2b::ei::UidType registrationID_type; + typedef ::xsd::cxx::tree::optional< registrationID_type > registrationID_optional; + typedef ::xsd::cxx::tree::traits< registrationID_type, char > registrationID_traits; + + const registrationID_optional& + registrationID () const; + + registrationID_optional& + registrationID (); + + void + registrationID (const registrationID_type& x); + + void + registrationID (const registrationID_optional& x); + + void + registrationID (::std::auto_ptr< registrationID_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // vtnID + // + typedef ::xml_schema::string vtnID_type; + typedef ::xsd::cxx::tree::traits< vtnID_type, char > vtnID_traits; + + const vtnID_type& + vtnID () const; + + vtnID_type& + vtnID (); + + void + vtnID (const vtnID_type& x); + + void + vtnID (::std::auto_ptr< vtnID_type > p); + + // oadrProfiles + // + typedef ::oadr2b::oadr::oadrProfiles oadrProfiles_type; + typedef ::xsd::cxx::tree::traits< oadrProfiles_type, char > oadrProfiles_traits; + + const oadrProfiles_type& + oadrProfiles () const; + + oadrProfiles_type& + oadrProfiles (); + + void + oadrProfiles (const oadrProfiles_type& x); + + void + oadrProfiles (::std::auto_ptr< oadrProfiles_type > p); + + // oadrRequestedOadrPollFreq + // + typedef ::icalendar_2_0::DurationPropType oadrRequestedOadrPollFreq_type; + typedef ::xsd::cxx::tree::optional< oadrRequestedOadrPollFreq_type > oadrRequestedOadrPollFreq_optional; + typedef ::xsd::cxx::tree::traits< oadrRequestedOadrPollFreq_type, char > oadrRequestedOadrPollFreq_traits; + + const oadrRequestedOadrPollFreq_optional& + oadrRequestedOadrPollFreq () const; + + oadrRequestedOadrPollFreq_optional& + oadrRequestedOadrPollFreq (); + + void + oadrRequestedOadrPollFreq (const oadrRequestedOadrPollFreq_type& x); + + void + oadrRequestedOadrPollFreq (const oadrRequestedOadrPollFreq_optional& x); + + void + oadrRequestedOadrPollFreq (::std::auto_ptr< oadrRequestedOadrPollFreq_type > p); + + // oadrServiceSpecificInfo + // + typedef ::oadr2b::oadr::oadrServiceSpecificInfo oadrServiceSpecificInfo_type; + typedef ::xsd::cxx::tree::optional< oadrServiceSpecificInfo_type > oadrServiceSpecificInfo_optional; + typedef ::xsd::cxx::tree::traits< oadrServiceSpecificInfo_type, char > oadrServiceSpecificInfo_traits; + + const oadrServiceSpecificInfo_optional& + oadrServiceSpecificInfo () const; + + oadrServiceSpecificInfo_optional& + oadrServiceSpecificInfo (); + + void + oadrServiceSpecificInfo (const oadrServiceSpecificInfo_type& x); + + void + oadrServiceSpecificInfo (const oadrServiceSpecificInfo_optional& x); + + void + oadrServiceSpecificInfo (::std::auto_ptr< oadrServiceSpecificInfo_type > p); + + // oadrExtensions + // + typedef ::oadr2b::oadr::oadrExtensions oadrExtensions_type; + typedef ::xsd::cxx::tree::optional< oadrExtensions_type > oadrExtensions_optional; + typedef ::xsd::cxx::tree::traits< oadrExtensions_type, char > oadrExtensions_traits; + + const oadrExtensions_optional& + oadrExtensions () const; + + oadrExtensions_optional& + oadrExtensions (); + + void + oadrExtensions (const oadrExtensions_type& x); + + void + oadrExtensions (const oadrExtensions_optional& x); + + void + oadrExtensions (::std::auto_ptr< oadrExtensions_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreatedPartyRegistrationType (const eiResponse_type&, + const vtnID_type&, + const oadrProfiles_type&); + + oadrCreatedPartyRegistrationType (::std::auto_ptr< eiResponse_type >, + const vtnID_type&, + ::std::auto_ptr< oadrProfiles_type >); + + oadrCreatedPartyRegistrationType (::std::auto_ptr< eiResponse_type >, + ::std::auto_ptr< vtnID_type >, + ::std::auto_ptr< oadrProfiles_type >); + + oadrCreatedPartyRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreatedPartyRegistrationType (const oadrCreatedPartyRegistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreatedPartyRegistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreatedPartyRegistrationType& + operator= (const oadrCreatedPartyRegistrationType& x); + + virtual + ~oadrCreatedPartyRegistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + registrationID_optional registrationID_; + venID_optional venID_; + ::xsd::cxx::tree::one< vtnID_type > vtnID_; + ::xsd::cxx::tree::one< oadrProfiles_type > oadrProfiles_; + oadrRequestedOadrPollFreq_optional oadrRequestedOadrPollFreq_; + oadrServiceSpecificInfo_optional oadrServiceSpecificInfo_; + oadrExtensions_optional oadrExtensions_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreatedPartyRegistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATED_PARTY_REGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrCreatedReportType.cxx b/oadrsd/oadrsd/2b/oadrCreatedReportType.cxx new file mode 100644 index 0000000..048ee55 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedReportType.cxx @@ -0,0 +1,531 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrCreatedReportType.hxx" + +#include "EiResponseType.hxx" + +#include "oadrPendingReportsType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedReportType + // + + const oadrCreatedReportType::eiResponse_type& oadrCreatedReportType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrCreatedReportType::eiResponse_type& oadrCreatedReportType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrCreatedReportType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrCreatedReportType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrCreatedReportType::oadrPendingReports_type& oadrCreatedReportType:: + oadrPendingReports () const + { + return this->oadrPendingReports_.get (); + } + + oadrCreatedReportType::oadrPendingReports_type& oadrCreatedReportType:: + oadrPendingReports () + { + return this->oadrPendingReports_.get (); + } + + void oadrCreatedReportType:: + oadrPendingReports (const oadrPendingReports_type& x) + { + this->oadrPendingReports_.set (x); + } + + void oadrCreatedReportType:: + oadrPendingReports (::std::auto_ptr< oadrPendingReports_type > x) + { + this->oadrPendingReports_.set (x); + } + + const oadrCreatedReportType::venID_optional& oadrCreatedReportType:: + venID () const + { + return this->venID_; + } + + oadrCreatedReportType::venID_optional& oadrCreatedReportType:: + venID () + { + return this->venID_; + } + + void oadrCreatedReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrCreatedReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrCreatedReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrCreatedReportType::schemaVersion_optional& oadrCreatedReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrCreatedReportType::schemaVersion_optional& oadrCreatedReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrCreatedReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrCreatedReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrCreatedReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrCreatedReportType + // + + oadrCreatedReportType:: + oadrCreatedReportType (const eiResponse_type& eiResponse, + const oadrPendingReports_type& oadrPendingReports) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrPendingReports_ (oadrPendingReports, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCreatedReportType:: + oadrCreatedReportType (::std::auto_ptr< eiResponse_type > eiResponse, + ::std::auto_ptr< oadrPendingReports_type > oadrPendingReports) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrPendingReports_ (oadrPendingReports, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrCreatedReportType:: + oadrCreatedReportType (const oadrCreatedReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + oadrPendingReports_ (x.oadrPendingReports_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrCreatedReportType:: + oadrCreatedReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + oadrPendingReports_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrCreatedReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // oadrPendingReports + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrPendingReports_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrPendingReports_.present ()) + { + ::std::auto_ptr< oadrPendingReports_type > r ( + dynamic_cast< oadrPendingReports_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrPendingReports_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!oadrPendingReports_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrCreatedReportType* oadrCreatedReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrCreatedReportType (*this, f, c); + } + + oadrCreatedReportType& oadrCreatedReportType:: + operator= (const oadrCreatedReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->oadrPendingReports_ = x.oadrPendingReports_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrCreatedReportType:: + ~oadrCreatedReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrCreatedReportType > + _xsd_oadrCreatedReportType_type_factory_init ( + "oadrCreatedReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrCreatedReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedReportType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrCreatedReportType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrPendingReports + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrCreatedReportType::oadrPendingReports_type& x (i.oadrPendingReports ()); + if (typeid (oadrCreatedReportType::oadrPendingReports_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrCreatedReportType::venID_type& x (*i.venID ()); + if (typeid (oadrCreatedReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrCreatedReportType > + _xsd_oadrCreatedReportType_type_serializer_init ( + "oadrCreatedReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrCreatedReportType.hxx b/oadrsd/oadrsd/2b/oadrCreatedReportType.hxx new file mode 100644 index 0000000..408911d --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrCreatedReportType.hxx @@ -0,0 +1,460 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_CREATED_REPORT_TYPE_HXX +#define OADR_CREATED_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPendingReportsType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedReportType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // oadrPendingReports + // + typedef ::oadr2b::oadr::oadrPendingReportsType oadrPendingReports_type; + typedef ::xsd::cxx::tree::traits< oadrPendingReports_type, char > oadrPendingReports_traits; + + const oadrPendingReports_type& + oadrPendingReports () const; + + oadrPendingReports_type& + oadrPendingReports (); + + void + oadrPendingReports (const oadrPendingReports_type& x); + + void + oadrPendingReports (::std::auto_ptr< oadrPendingReports_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrCreatedReportType (const eiResponse_type&, + const oadrPendingReports_type&); + + oadrCreatedReportType (::std::auto_ptr< eiResponse_type >, + ::std::auto_ptr< oadrPendingReports_type >); + + oadrCreatedReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrCreatedReportType (const oadrCreatedReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrCreatedReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrCreatedReportType& + operator= (const oadrCreatedReportType& x); + + virtual + ~oadrCreatedReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + ::xsd::cxx::tree::one< oadrPendingReports_type > oadrPendingReports_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrCreatedReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_CREATED_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrDataQualityType.cxx b/oadrsd/oadrsd/2b/oadrDataQualityType.cxx new file mode 100644 index 0000000..282b48a --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDataQualityType.cxx @@ -0,0 +1,285 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrDataQualityType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrDataQualityType + // + + oadrDataQualityType:: + oadrDataQualityType (value v) + : ::xml_schema::token (_xsd_oadrDataQualityType_literals_[v]) + { + } + + oadrDataQualityType:: + oadrDataQualityType (const char* v) + : ::xml_schema::token (v) + { + } + + oadrDataQualityType:: + oadrDataQualityType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + oadrDataQualityType:: + oadrDataQualityType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + oadrDataQualityType:: + oadrDataQualityType (const oadrDataQualityType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + oadrDataQualityType& oadrDataQualityType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_oadrDataQualityType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrDataQualityType + // + + oadrDataQualityType:: + oadrDataQualityType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_oadrDataQualityType_convert (); + } + + oadrDataQualityType:: + oadrDataQualityType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_oadrDataQualityType_convert (); + } + + oadrDataQualityType:: + oadrDataQualityType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_oadrDataQualityType_convert (); + } + + oadrDataQualityType* oadrDataQualityType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrDataQualityType (*this, f, c); + } + + oadrDataQualityType::value oadrDataQualityType:: + _xsd_oadrDataQualityType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_oadrDataQualityType_literals_); + const value* i (::std::lower_bound ( + _xsd_oadrDataQualityType_indexes_, + _xsd_oadrDataQualityType_indexes_ + 21, + *this, + c)); + + if (i == _xsd_oadrDataQualityType_indexes_ + 21 || _xsd_oadrDataQualityType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const oadrDataQualityType:: + _xsd_oadrDataQualityType_literals_[21] = + { + "No Quality - No Value", + "No New Value - Previous Value Used", + "Quality Bad - Non Specific", + "Quality Bad - Configuration Error", + "Quality Bad - Not Connected", + "Quality Bad - Device Failure", + "Quality Bad - Sensor Failure", + "Quality Bad - Last Known Value", + "Quality Bad - Comm Failure", + "Quality Bad - Out of Service", + "Quality Uncertain - Non Specific", + "Quality Uncertain - Last Usable Value", + "Quality Uncertain - Sensor Not Accurate", + "Quality Uncertain - EU Units Exceeded", + "Quality Uncertain - Sub Normal", + "Quality Good - Non Specific", + "Quality Good - Local Override", + "Quality Limit - Field/Not", + "Quality Limit - Field/Low", + "Quality Limit - Field/High", + "Quality Limit - Field/Constant" + }; + + const oadrDataQualityType::value oadrDataQualityType:: + _xsd_oadrDataQualityType_indexes_[21] = + { + ::oadr2b::oadr::oadrDataQualityType::No_New_Value___Previous_Value_Used, + ::oadr2b::oadr::oadrDataQualityType::No_Quality___No_Value, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Comm_Failure, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Configuration_Error, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Device_Failure, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Last_Known_Value, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Non_Specific, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Not_Connected, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Out_of_Service, + ::oadr2b::oadr::oadrDataQualityType::Quality_Bad___Sensor_Failure, + ::oadr2b::oadr::oadrDataQualityType::Quality_Good___Local_Override, + ::oadr2b::oadr::oadrDataQualityType::Quality_Good___Non_Specific, + ::oadr2b::oadr::oadrDataQualityType::Quality_Limit___Field_Constant, + ::oadr2b::oadr::oadrDataQualityType::Quality_Limit___Field_High, + ::oadr2b::oadr::oadrDataQualityType::Quality_Limit___Field_Low, + ::oadr2b::oadr::oadrDataQualityType::Quality_Limit___Field_Not, + ::oadr2b::oadr::oadrDataQualityType::Quality_Uncertain___EU_Units_Exceeded, + ::oadr2b::oadr::oadrDataQualityType::Quality_Uncertain___Last_Usable_Value, + ::oadr2b::oadr::oadrDataQualityType::Quality_Uncertain___Non_Specific, + ::oadr2b::oadr::oadrDataQualityType::Quality_Uncertain___Sensor_Not_Accurate, + ::oadr2b::oadr::oadrDataQualityType::Quality_Uncertain___Sub_Normal + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrDataQualityType > + _xsd_oadrDataQualityType_type_factory_init ( + "oadrDataQualityType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrDataQualityType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const oadrDataQualityType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const oadrDataQualityType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrDataQualityType > + _xsd_oadrDataQualityType_type_serializer_init ( + "oadrDataQualityType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrDataQualityType.hxx b/oadrsd/oadrsd/2b/oadrDataQualityType.hxx new file mode 100644 index 0000000..81c76e8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDataQualityType.hxx @@ -0,0 +1,399 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_DATA_QUALITY_TYPE_HXX +#define OADR_DATA_QUALITY_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrDataQualityType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrDataQualityType: public ::xml_schema::token + { + public: + enum value + { + No_Quality___No_Value, + No_New_Value___Previous_Value_Used, + Quality_Bad___Non_Specific, + Quality_Bad___Configuration_Error, + Quality_Bad___Not_Connected, + Quality_Bad___Device_Failure, + Quality_Bad___Sensor_Failure, + Quality_Bad___Last_Known_Value, + Quality_Bad___Comm_Failure, + Quality_Bad___Out_of_Service, + Quality_Uncertain___Non_Specific, + Quality_Uncertain___Last_Usable_Value, + Quality_Uncertain___Sensor_Not_Accurate, + Quality_Uncertain___EU_Units_Exceeded, + Quality_Uncertain___Sub_Normal, + Quality_Good___Non_Specific, + Quality_Good___Local_Override, + Quality_Limit___Field_Not, + Quality_Limit___Field_Low, + Quality_Limit___Field_High, + Quality_Limit___Field_Constant + }; + + oadrDataQualityType (value v); + + oadrDataQualityType (const char* v); + + oadrDataQualityType (const ::std::string& v); + + oadrDataQualityType (const ::xml_schema::token& v); + + oadrDataQualityType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityType (const oadrDataQualityType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrDataQualityType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrDataQualityType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_oadrDataQualityType_convert (); + } + + protected: + value + _xsd_oadrDataQualityType_convert () const; + + public: + static const char* const _xsd_oadrDataQualityType_literals_[21]; + static const value _xsd_oadrDataQualityType_indexes_[21]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrDataQualityType&); + + void + operator<< (::xercesc::DOMAttr&, const oadrDataQualityType&); + + void + operator<< (::xml_schema::list_stream&, + const oadrDataQualityType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_DATA_QUALITY_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrDataQualityTypeType.cxx b/oadrsd/oadrsd/2b/oadrDataQualityTypeType.cxx new file mode 100644 index 0000000..bb46477 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDataQualityTypeType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrDataQualityTypeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrDataQualityTypeType + // + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const char* s) + : ::xml_schema::string (s) + { + } + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const oadrDataQualityTypeType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrDataQualityTypeType + // + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + oadrDataQualityTypeType:: + oadrDataQualityTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + oadrDataQualityTypeType* oadrDataQualityTypeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrDataQualityTypeType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrDataQualityTypeType > + _xsd_oadrDataQualityTypeType_type_factory_init ( + "oadrDataQualityTypeType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrDataQualityTypeType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const oadrDataQualityTypeType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const oadrDataQualityTypeType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrDataQualityTypeType > + _xsd_oadrDataQualityTypeType_type_serializer_init ( + "oadrDataQualityTypeType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrDataQualityTypeType.hxx b/oadrsd/oadrsd/2b/oadrDataQualityTypeType.hxx new file mode 100644 index 0000000..6d343ec --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDataQualityTypeType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_DATA_QUALITY_TYPE_TYPE_HXX +#define OADR_DATA_QUALITY_TYPE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrDataQualityTypeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrDataQualityTypeType: public ::xml_schema::string + { + public: + + oadrDataQualityTypeType (const char* v); + + oadrDataQualityTypeType (const ::std::string& v); + + oadrDataQualityTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityTypeType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityTypeType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDataQualityTypeType (const oadrDataQualityTypeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrDataQualityTypeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrDataQualityTypeType&); + + void + operator<< (::xercesc::DOMAttr&, const oadrDataQualityTypeType&); + + void + operator<< (::xml_schema::list_stream&, + const oadrDataQualityTypeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_DATA_QUALITY_TYPE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrDistributeEventType.cxx b/oadrsd/oadrsd/2b/oadrDistributeEventType.cxx new file mode 100644 index 0000000..5ad1aee --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDistributeEventType.cxx @@ -0,0 +1,580 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrDistributeEventType.hxx" + +#include "EiResponseType.hxx" + +#include "oadrEvent.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrDistributeEventType + // + + const oadrDistributeEventType::eiResponse_optional& oadrDistributeEventType:: + eiResponse () const + { + return this->eiResponse_; + } + + oadrDistributeEventType::eiResponse_optional& oadrDistributeEventType:: + eiResponse () + { + return this->eiResponse_; + } + + void oadrDistributeEventType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrDistributeEventType:: + eiResponse (const eiResponse_optional& x) + { + this->eiResponse_ = x; + } + + void oadrDistributeEventType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrDistributeEventType::requestID_type& oadrDistributeEventType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrDistributeEventType::requestID_type& oadrDistributeEventType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrDistributeEventType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrDistributeEventType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrDistributeEventType::vtnID_type& oadrDistributeEventType:: + vtnID () const + { + return this->vtnID_.get (); + } + + oadrDistributeEventType::vtnID_type& oadrDistributeEventType:: + vtnID () + { + return this->vtnID_.get (); + } + + void oadrDistributeEventType:: + vtnID (const vtnID_type& x) + { + this->vtnID_.set (x); + } + + void oadrDistributeEventType:: + vtnID (::std::auto_ptr< vtnID_type > x) + { + this->vtnID_.set (x); + } + + const oadrDistributeEventType::oadrEvent_sequence& oadrDistributeEventType:: + oadrEvent () const + { + return this->oadrEvent_; + } + + oadrDistributeEventType::oadrEvent_sequence& oadrDistributeEventType:: + oadrEvent () + { + return this->oadrEvent_; + } + + void oadrDistributeEventType:: + oadrEvent (const oadrEvent_sequence& s) + { + this->oadrEvent_ = s; + } + + const oadrDistributeEventType::schemaVersion_optional& oadrDistributeEventType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrDistributeEventType::schemaVersion_optional& oadrDistributeEventType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrDistributeEventType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrDistributeEventType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrDistributeEventType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrDistributeEventType + // + + oadrDistributeEventType:: + oadrDistributeEventType (const requestID_type& requestID, + const vtnID_type& vtnID) + : ::xml_schema::type (), + eiResponse_ (this), + requestID_ (requestID, this), + vtnID_ (vtnID, this), + oadrEvent_ (this), + schemaVersion_ (this) + { + } + + oadrDistributeEventType:: + oadrDistributeEventType (::std::auto_ptr< requestID_type > requestID, + ::std::auto_ptr< vtnID_type > vtnID) + : ::xml_schema::type (), + eiResponse_ (this), + requestID_ (requestID, this), + vtnID_ (vtnID, this), + oadrEvent_ (this), + schemaVersion_ (this) + { + } + + oadrDistributeEventType:: + oadrDistributeEventType (const oadrDistributeEventType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + requestID_ (x.requestID_, f, this), + vtnID_ (x.vtnID_, f, this), + oadrEvent_ (x.oadrEvent_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrDistributeEventType:: + oadrDistributeEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + requestID_ (this), + vtnID_ (this), + oadrEvent_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrDistributeEventType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->eiResponse_) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // vtnID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< vtnID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!vtnID_.present ()) + { + ::std::auto_ptr< vtnID_type > r ( + dynamic_cast< vtnID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->vtnID_.set (r); + continue; + } + } + } + + // oadrEvent + // + if (n.name () == "oadrEvent" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrEvent_type > r ( + oadrEvent_traits::create (i, f, this)); + + this->oadrEvent_.push_back (r); + continue; + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + if (!vtnID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrDistributeEventType* oadrDistributeEventType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrDistributeEventType (*this, f, c); + } + + oadrDistributeEventType& oadrDistributeEventType:: + operator= (const oadrDistributeEventType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->requestID_ = x.requestID_; + this->vtnID_ = x.vtnID_; + this->oadrEvent_ = x.oadrEvent_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrDistributeEventType:: + ~oadrDistributeEventType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrDistributeEventType > + _xsd_oadrDistributeEventType_type_factory_init ( + "oadrDistributeEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrDistributeEventType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.eiResponse ()) + { + const oadrDistributeEventType::eiResponse_type& x (*i.eiResponse ()); + if (typeid (oadrDistributeEventType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrDistributeEventType::requestID_type& x (i.requestID ()); + if (typeid (oadrDistributeEventType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // vtnID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrDistributeEventType::vtnID_type& x (i.vtnID ()); + if (typeid (oadrDistributeEventType::vtnID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrEvent + // + for (oadrDistributeEventType::oadrEvent_const_iterator + b (i.oadrEvent ().begin ()), n (i.oadrEvent ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrDistributeEventType > + _xsd_oadrDistributeEventType_type_serializer_init ( + "oadrDistributeEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrDistributeEventType.hxx b/oadrsd/oadrsd/2b/oadrDistributeEventType.hxx new file mode 100644 index 0000000..6557674 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrDistributeEventType.hxx @@ -0,0 +1,478 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_DISTRIBUTE_EVENT_TYPE_HXX +#define OADR_DISTRIBUTE_EVENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrDistributeEventType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrEvent; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrDistributeEventType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::optional< eiResponse_type > eiResponse_optional; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_optional& + eiResponse () const; + + eiResponse_optional& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (const eiResponse_optional& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // vtnID + // + typedef ::xml_schema::string vtnID_type; + typedef ::xsd::cxx::tree::traits< vtnID_type, char > vtnID_traits; + + const vtnID_type& + vtnID () const; + + vtnID_type& + vtnID (); + + void + vtnID (const vtnID_type& x); + + void + vtnID (::std::auto_ptr< vtnID_type > p); + + // oadrEvent + // + typedef ::oadr2b::oadr::oadrEvent oadrEvent_type; + typedef ::xsd::cxx::tree::sequence< oadrEvent_type > oadrEvent_sequence; + typedef oadrEvent_sequence::iterator oadrEvent_iterator; + typedef oadrEvent_sequence::const_iterator oadrEvent_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrEvent_type, char > oadrEvent_traits; + + const oadrEvent_sequence& + oadrEvent () const; + + oadrEvent_sequence& + oadrEvent (); + + void + oadrEvent (const oadrEvent_sequence& s); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrDistributeEventType (const requestID_type&, + const vtnID_type&); + + oadrDistributeEventType (::std::auto_ptr< requestID_type >, + ::std::auto_ptr< vtnID_type >); + + oadrDistributeEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrDistributeEventType (const oadrDistributeEventType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrDistributeEventType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrDistributeEventType& + operator= (const oadrDistributeEventType& x); + + virtual + ~oadrDistributeEventType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + eiResponse_optional eiResponse_; + ::xsd::cxx::tree::one< requestID_type > requestID_; + ::xsd::cxx::tree::one< vtnID_type > vtnID_; + oadrEvent_sequence oadrEvent_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrDistributeEventType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_DISTRIBUTE_EVENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrEvent.cxx b/oadrsd/oadrsd/2b/oadrEvent.cxx new file mode 100644 index 0000000..7a32a6b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrEvent.cxx @@ -0,0 +1,375 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrEvent.hxx" + +#include "eiEventType.hxx" + +#include "ResponseRequiredType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrEvent + // + + const oadrEvent::eiEvent_type& oadrEvent:: + eiEvent () const + { + return this->eiEvent_.get (); + } + + oadrEvent::eiEvent_type& oadrEvent:: + eiEvent () + { + return this->eiEvent_.get (); + } + + void oadrEvent:: + eiEvent (const eiEvent_type& x) + { + this->eiEvent_.set (x); + } + + void oadrEvent:: + eiEvent (::std::auto_ptr< eiEvent_type > x) + { + this->eiEvent_.set (x); + } + + const oadrEvent::oadrResponseRequired_type& oadrEvent:: + oadrResponseRequired () const + { + return this->oadrResponseRequired_.get (); + } + + oadrEvent::oadrResponseRequired_type& oadrEvent:: + oadrResponseRequired () + { + return this->oadrResponseRequired_.get (); + } + + void oadrEvent:: + oadrResponseRequired (const oadrResponseRequired_type& x) + { + this->oadrResponseRequired_.set (x); + } + + void oadrEvent:: + oadrResponseRequired (::std::auto_ptr< oadrResponseRequired_type > x) + { + this->oadrResponseRequired_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrEvent + // + + oadrEvent:: + oadrEvent (const eiEvent_type& eiEvent, + const oadrResponseRequired_type& oadrResponseRequired) + : ::xml_schema::type (), + eiEvent_ (eiEvent, this), + oadrResponseRequired_ (oadrResponseRequired, this) + { + } + + oadrEvent:: + oadrEvent (::std::auto_ptr< eiEvent_type > eiEvent, + const oadrResponseRequired_type& oadrResponseRequired) + : ::xml_schema::type (), + eiEvent_ (eiEvent, this), + oadrResponseRequired_ (oadrResponseRequired, this) + { + } + + oadrEvent:: + oadrEvent (::std::auto_ptr< eiEvent_type > eiEvent, + ::std::auto_ptr< oadrResponseRequired_type > oadrResponseRequired) + : ::xml_schema::type (), + eiEvent_ (eiEvent, this), + oadrResponseRequired_ (oadrResponseRequired, this) + { + } + + oadrEvent:: + oadrEvent (const oadrEvent& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiEvent_ (x.eiEvent_, f, this), + oadrResponseRequired_ (x.oadrResponseRequired_, f, this) + { + } + + oadrEvent:: + oadrEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiEvent_ (this), + oadrResponseRequired_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrEvent:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiEvent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiEvent_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiEvent_.present ()) + { + ::std::auto_ptr< eiEvent_type > r ( + dynamic_cast< eiEvent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiEvent_.set (r); + continue; + } + } + } + + // oadrResponseRequired + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrResponseRequired_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrResponseRequired_.present ()) + { + ::std::auto_ptr< oadrResponseRequired_type > r ( + dynamic_cast< oadrResponseRequired_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrResponseRequired_.set (r); + continue; + } + } + } + + break; + } + + if (!eiEvent_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!oadrResponseRequired_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrEvent* oadrEvent:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrEvent (*this, f, c); + } + + oadrEvent& oadrEvent:: + operator= (const oadrEvent& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiEvent_ = x.eiEvent_; + this->oadrResponseRequired_ = x.oadrResponseRequired_; + } + + return *this; + } + + oadrEvent:: + ~oadrEvent () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrEvent& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiEvent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrEvent::eiEvent_type& x (i.eiEvent ()); + if (typeid (oadrEvent::eiEvent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrResponseRequired + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrEvent::oadrResponseRequired_type& x (i.oadrResponseRequired ()); + if (typeid (oadrEvent::oadrResponseRequired_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrEvent.hxx b/oadrsd/oadrsd/2b/oadrEvent.hxx new file mode 100644 index 0000000..0e2ebbd --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrEvent.hxx @@ -0,0 +1,411 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_EVENT_HXX +#define OADR_EVENT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrEvent; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class eiEventType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class ResponseRequiredType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrEvent: public ::xml_schema::type + { + public: + // eiEvent + // + typedef ::oadr2b::ei::eiEventType eiEvent_type; + typedef ::xsd::cxx::tree::traits< eiEvent_type, char > eiEvent_traits; + + const eiEvent_type& + eiEvent () const; + + eiEvent_type& + eiEvent (); + + void + eiEvent (const eiEvent_type& x); + + void + eiEvent (::std::auto_ptr< eiEvent_type > p); + + // oadrResponseRequired + // + typedef ::oadr2b::oadr::ResponseRequiredType oadrResponseRequired_type; + typedef ::xsd::cxx::tree::traits< oadrResponseRequired_type, char > oadrResponseRequired_traits; + + const oadrResponseRequired_type& + oadrResponseRequired () const; + + oadrResponseRequired_type& + oadrResponseRequired (); + + void + oadrResponseRequired (const oadrResponseRequired_type& x); + + void + oadrResponseRequired (::std::auto_ptr< oadrResponseRequired_type > p); + + // Constructors. + // + oadrEvent (const eiEvent_type&, + const oadrResponseRequired_type&); + + oadrEvent (::std::auto_ptr< eiEvent_type >, + const oadrResponseRequired_type&); + + oadrEvent (::std::auto_ptr< eiEvent_type >, + ::std::auto_ptr< oadrResponseRequired_type >); + + oadrEvent (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrEvent (const oadrEvent& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrEvent* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrEvent& + operator= (const oadrEvent& x); + + virtual + ~oadrEvent (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiEvent_type > eiEvent_; + ::xsd::cxx::tree::one< oadrResponseRequired_type > oadrResponseRequired_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrEvent&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_EVENT_HXX diff --git a/oadrsd/oadrsd/2b/oadrExtension.cxx b/oadrsd/oadrsd/2b/oadrExtension.cxx new file mode 100644 index 0000000..b7cce4a --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrExtension.cxx @@ -0,0 +1,323 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrExtension.hxx" + +#include "oadrInfo.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrExtension + // + + const oadrExtension::oadrExtensionName_type& oadrExtension:: + oadrExtensionName () const + { + return this->oadrExtensionName_.get (); + } + + oadrExtension::oadrExtensionName_type& oadrExtension:: + oadrExtensionName () + { + return this->oadrExtensionName_.get (); + } + + void oadrExtension:: + oadrExtensionName (const oadrExtensionName_type& x) + { + this->oadrExtensionName_.set (x); + } + + void oadrExtension:: + oadrExtensionName (::std::auto_ptr< oadrExtensionName_type > x) + { + this->oadrExtensionName_.set (x); + } + + const oadrExtension::oadrInfo_sequence& oadrExtension:: + oadrInfo () const + { + return this->oadrInfo_; + } + + oadrExtension::oadrInfo_sequence& oadrExtension:: + oadrInfo () + { + return this->oadrInfo_; + } + + void oadrExtension:: + oadrInfo (const oadrInfo_sequence& s) + { + this->oadrInfo_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrExtension + // + + oadrExtension:: + oadrExtension (const oadrExtensionName_type& oadrExtensionName) + : ::xml_schema::type (), + oadrExtensionName_ (oadrExtensionName, this), + oadrInfo_ (this) + { + } + + oadrExtension:: + oadrExtension (::std::auto_ptr< oadrExtensionName_type > oadrExtensionName) + : ::xml_schema::type (), + oadrExtensionName_ (oadrExtensionName, this), + oadrInfo_ (this) + { + } + + oadrExtension:: + oadrExtension (const oadrExtension& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrExtensionName_ (x.oadrExtensionName_, f, this), + oadrInfo_ (x.oadrInfo_, f, this) + { + } + + oadrExtension:: + oadrExtension (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrExtensionName_ (this), + oadrInfo_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrExtension:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrExtensionName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrExtensionName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrExtensionName_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrExtensionName_.present ()) + { + ::std::auto_ptr< oadrExtensionName_type > r ( + dynamic_cast< oadrExtensionName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrExtensionName_.set (r); + continue; + } + } + } + + // oadrInfo + // + if (n.name () == "oadrInfo" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrInfo_type > r ( + oadrInfo_traits::create (i, f, this)); + + this->oadrInfo_.push_back (r); + continue; + } + + break; + } + + if (!oadrExtensionName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrExtensionName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrExtension* oadrExtension:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrExtension (*this, f, c); + } + + oadrExtension& oadrExtension:: + operator= (const oadrExtension& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrExtensionName_ = x.oadrExtensionName_; + this->oadrInfo_ = x.oadrInfo_; + } + + return *this; + } + + oadrExtension:: + ~oadrExtension () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrExtension& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrExtensionName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrExtension::oadrExtensionName_type& x (i.oadrExtensionName ()); + if (typeid (oadrExtension::oadrExtensionName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrExtensionName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrExtensionName", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // oadrInfo + // + for (oadrExtension::oadrInfo_const_iterator + b (i.oadrInfo ().begin ()), n (i.oadrInfo ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrExtension.hxx b/oadrsd/oadrsd/2b/oadrExtension.hxx new file mode 100644 index 0000000..96e9ca8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrExtension.hxx @@ -0,0 +1,398 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_EXTENSION_HXX +#define OADR_EXTENSION_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrExtension; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrInfo; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrExtension: public ::xml_schema::type + { + public: + // oadrExtensionName + // + typedef ::xml_schema::string oadrExtensionName_type; + typedef ::xsd::cxx::tree::traits< oadrExtensionName_type, char > oadrExtensionName_traits; + + const oadrExtensionName_type& + oadrExtensionName () const; + + oadrExtensionName_type& + oadrExtensionName (); + + void + oadrExtensionName (const oadrExtensionName_type& x); + + void + oadrExtensionName (::std::auto_ptr< oadrExtensionName_type > p); + + // oadrInfo + // + typedef ::oadr2b::oadr::oadrInfo oadrInfo_type; + typedef ::xsd::cxx::tree::sequence< oadrInfo_type > oadrInfo_sequence; + typedef oadrInfo_sequence::iterator oadrInfo_iterator; + typedef oadrInfo_sequence::const_iterator oadrInfo_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrInfo_type, char > oadrInfo_traits; + + const oadrInfo_sequence& + oadrInfo () const; + + oadrInfo_sequence& + oadrInfo (); + + void + oadrInfo (const oadrInfo_sequence& s); + + // Constructors. + // + oadrExtension (const oadrExtensionName_type&); + + oadrExtension (::std::auto_ptr< oadrExtensionName_type >); + + oadrExtension (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrExtension (const oadrExtension& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrExtension* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrExtension& + operator= (const oadrExtension& x); + + virtual + ~oadrExtension (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrExtensionName_type > oadrExtensionName_; + oadrInfo_sequence oadrInfo_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrExtension&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_EXTENSION_HXX diff --git a/oadrsd/oadrsd/2b/oadrExtensions.cxx b/oadrsd/oadrsd/2b/oadrExtensions.cxx new file mode 100644 index 0000000..cec5756 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrExtensions.cxx @@ -0,0 +1,228 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrExtensions.hxx" + +#include "oadrExtension.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrExtensions + // + + const oadrExtensions::oadrExtension_sequence& oadrExtensions:: + oadrExtension () const + { + return this->oadrExtension_; + } + + oadrExtensions::oadrExtension_sequence& oadrExtensions:: + oadrExtension () + { + return this->oadrExtension_; + } + + void oadrExtensions:: + oadrExtension (const oadrExtension_sequence& s) + { + this->oadrExtension_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrExtensions + // + + oadrExtensions:: + oadrExtensions () + : ::xml_schema::type (), + oadrExtension_ (this) + { + } + + oadrExtensions:: + oadrExtensions (const oadrExtensions& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrExtension_ (x.oadrExtension_, f, this) + { + } + + oadrExtensions:: + oadrExtensions (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrExtension_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrExtensions:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrExtension + // + if (n.name () == "oadrExtension" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrExtension_type > r ( + oadrExtension_traits::create (i, f, this)); + + this->oadrExtension_.push_back (r); + continue; + } + + break; + } + } + + oadrExtensions* oadrExtensions:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrExtensions (*this, f, c); + } + + oadrExtensions& oadrExtensions:: + operator= (const oadrExtensions& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrExtension_ = x.oadrExtension_; + } + + return *this; + } + + oadrExtensions:: + ~oadrExtensions () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrExtensions& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrExtension + // + for (oadrExtensions::oadrExtension_const_iterator + b (i.oadrExtension ().begin ()), n (i.oadrExtension ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrExtension", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrExtensions.hxx b/oadrsd/oadrsd/2b/oadrExtensions.hxx new file mode 100644 index 0000000..f055277 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrExtensions.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_EXTENSIONS_HXX +#define OADR_EXTENSIONS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrExtensions; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrExtension; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrExtensions: public ::xml_schema::type + { + public: + // oadrExtension + // + typedef ::oadr2b::oadr::oadrExtension oadrExtension_type; + typedef ::xsd::cxx::tree::sequence< oadrExtension_type > oadrExtension_sequence; + typedef oadrExtension_sequence::iterator oadrExtension_iterator; + typedef oadrExtension_sequence::const_iterator oadrExtension_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrExtension_type, char > oadrExtension_traits; + + const oadrExtension_sequence& + oadrExtension () const; + + oadrExtension_sequence& + oadrExtension (); + + void + oadrExtension (const oadrExtension_sequence& s); + + // Constructors. + // + oadrExtensions (); + + oadrExtensions (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrExtensions (const oadrExtensions& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrExtensions* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrExtensions& + operator= (const oadrExtensions& x); + + virtual + ~oadrExtensions (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrExtension_sequence oadrExtension_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrExtensions&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_EXTENSIONS_HXX diff --git a/oadrsd/oadrsd/2b/oadrGBItemBase.cxx b/oadrsd/oadrsd/2b/oadrGBItemBase.cxx new file mode 100644 index 0000000..9403ca7 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrGBItemBase.cxx @@ -0,0 +1,286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrGBItemBase.hxx" + +#include "feedType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrGBItemBase + // + + const oadrGBItemBase::feed_type& oadrGBItemBase:: + feed () const + { + return this->feed_.get (); + } + + oadrGBItemBase::feed_type& oadrGBItemBase:: + feed () + { + return this->feed_.get (); + } + + void oadrGBItemBase:: + feed (const feed_type& x) + { + this->feed_.set (x); + } + + void oadrGBItemBase:: + feed (::std::auto_ptr< feed_type > x) + { + this->feed_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrGBItemBase + // + + oadrGBItemBase:: + oadrGBItemBase (const feed_type& feed) + : ::oadr2b::emix::ItemBaseType (), + feed_ (feed, this) + { + } + + oadrGBItemBase:: + oadrGBItemBase (::std::auto_ptr< feed_type > feed) + : ::oadr2b::emix::ItemBaseType (), + feed_ (feed, this) + { + } + + oadrGBItemBase:: + oadrGBItemBase (const oadrGBItemBase& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + feed_ (x.feed_, f, this) + { + } + + oadrGBItemBase:: + oadrGBItemBase (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + feed_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrGBItemBase:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // feed + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "feed", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< feed_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!feed_.present ()) + { + ::std::auto_ptr< feed_type > r ( + dynamic_cast< feed_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->feed_.set (r); + continue; + } + } + } + + break; + } + + if (!feed_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "feed", + "http://www.w3.org/2005/Atom"); + } + } + + oadrGBItemBase* oadrGBItemBase:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrGBItemBase (*this, f, c); + } + + oadrGBItemBase& oadrGBItemBase:: + operator= (const oadrGBItemBase& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->feed_ = x.feed_; + } + + return *this; + } + + oadrGBItemBase:: + ~oadrGBItemBase () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrGBItemBase > + _xsd_oadrGBItemBase_type_factory_init ( + "oadrGBItemBase", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrGBItemBase& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // feed + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrGBItemBase::feed_type& x (i.feed ()); + if (typeid (oadrGBItemBase::feed_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "feed", + "http://www.w3.org/2005/Atom", + e)); + + s << x; + } + else + tsm.serialize ( + "feed", + "http://www.w3.org/2005/Atom", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrGBItemBase > + _xsd_oadrGBItemBase_type_serializer_init ( + "oadrGBItemBase", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrGBItemBase.hxx b/oadrsd/oadrsd/2b/oadrGBItemBase.hxx new file mode 100644 index 0000000..cacbe9b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrGBItemBase.hxx @@ -0,0 +1,379 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_GBITEM_BASE_HXX +#define OADR_GBITEM_BASE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrGBItemBase; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace Atom +{ + class feedType; +} + +namespace oadr2b +{ + namespace oadr + { + class oadrGBItemBase: public ::oadr2b::emix::ItemBaseType + { + public: + // feed + // + typedef ::Atom::feedType feed_type; + typedef ::xsd::cxx::tree::traits< feed_type, char > feed_traits; + + const feed_type& + feed () const; + + feed_type& + feed (); + + void + feed (const feed_type& x); + + void + feed (::std::auto_ptr< feed_type > p); + + // Constructors. + // + oadrGBItemBase (const feed_type&); + + oadrGBItemBase (::std::auto_ptr< feed_type >); + + oadrGBItemBase (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrGBItemBase (const oadrGBItemBase& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrGBItemBase* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrGBItemBase& + operator= (const oadrGBItemBase& x); + + virtual + ~oadrGBItemBase (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< feed_type > feed_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrGBItemBase&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_GBITEM_BASE_HXX diff --git a/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.cxx b/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.cxx new file mode 100644 index 0000000..019faae --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.cxx @@ -0,0 +1,286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrGBStreamPayloadBase.hxx" + +#include "feedType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrGBStreamPayloadBase + // + + const oadrGBStreamPayloadBase::feed_type& oadrGBStreamPayloadBase:: + feed () const + { + return this->feed_.get (); + } + + oadrGBStreamPayloadBase::feed_type& oadrGBStreamPayloadBase:: + feed () + { + return this->feed_.get (); + } + + void oadrGBStreamPayloadBase:: + feed (const feed_type& x) + { + this->feed_.set (x); + } + + void oadrGBStreamPayloadBase:: + feed (::std::auto_ptr< feed_type > x) + { + this->feed_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrGBStreamPayloadBase + // + + oadrGBStreamPayloadBase:: + oadrGBStreamPayloadBase (const feed_type& feed) + : ::stream::StreamPayloadBaseType (), + feed_ (feed, this) + { + } + + oadrGBStreamPayloadBase:: + oadrGBStreamPayloadBase (::std::auto_ptr< feed_type > feed) + : ::stream::StreamPayloadBaseType (), + feed_ (feed, this) + { + } + + oadrGBStreamPayloadBase:: + oadrGBStreamPayloadBase (const oadrGBStreamPayloadBase& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (x, f, c), + feed_ (x.feed_, f, this) + { + } + + oadrGBStreamPayloadBase:: + oadrGBStreamPayloadBase (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (e, f | ::xml_schema::flags::base, c), + feed_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrGBStreamPayloadBase:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // feed + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "feed", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< feed_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!feed_.present ()) + { + ::std::auto_ptr< feed_type > r ( + dynamic_cast< feed_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->feed_.set (r); + continue; + } + } + } + + break; + } + + if (!feed_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "feed", + "http://www.w3.org/2005/Atom"); + } + } + + oadrGBStreamPayloadBase* oadrGBStreamPayloadBase:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrGBStreamPayloadBase (*this, f, c); + } + + oadrGBStreamPayloadBase& oadrGBStreamPayloadBase:: + operator= (const oadrGBStreamPayloadBase& x) + { + if (this != &x) + { + static_cast< ::stream::StreamPayloadBaseType& > (*this) = x; + this->feed_ = x.feed_; + } + + return *this; + } + + oadrGBStreamPayloadBase:: + ~oadrGBStreamPayloadBase () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrGBStreamPayloadBase > + _xsd_oadrGBStreamPayloadBase_type_factory_init ( + "oadrGBStreamPayloadBase", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrGBStreamPayloadBase& i) + { + e << static_cast< const ::stream::StreamPayloadBaseType& > (i); + + // feed + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrGBStreamPayloadBase::feed_type& x (i.feed ()); + if (typeid (oadrGBStreamPayloadBase::feed_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "feed", + "http://www.w3.org/2005/Atom", + e)); + + s << x; + } + else + tsm.serialize ( + "feed", + "http://www.w3.org/2005/Atom", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrGBStreamPayloadBase > + _xsd_oadrGBStreamPayloadBase_type_serializer_init ( + "oadrGBStreamPayloadBase", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.hxx b/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.hxx new file mode 100644 index 0000000..522f180 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrGBStreamPayloadBase.hxx @@ -0,0 +1,379 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_GBSTREAM_PAYLOAD_BASE_HXX +#define OADR_GBSTREAM_PAYLOAD_BASE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrGBStreamPayloadBase; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "StreamPayloadBaseType.hxx" + +namespace Atom +{ + class feedType; +} + +namespace oadr2b +{ + namespace oadr + { + class oadrGBStreamPayloadBase: public ::stream::StreamPayloadBaseType + { + public: + // feed + // + typedef ::Atom::feedType feed_type; + typedef ::xsd::cxx::tree::traits< feed_type, char > feed_traits; + + const feed_type& + feed () const; + + feed_type& + feed (); + + void + feed (const feed_type& x); + + void + feed (::std::auto_ptr< feed_type > p); + + // Constructors. + // + oadrGBStreamPayloadBase (const feed_type&); + + oadrGBStreamPayloadBase (::std::auto_ptr< feed_type >); + + oadrGBStreamPayloadBase (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrGBStreamPayloadBase (const oadrGBStreamPayloadBase& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrGBStreamPayloadBase* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrGBStreamPayloadBase& + operator= (const oadrGBStreamPayloadBase& x); + + virtual + ~oadrGBStreamPayloadBase (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< feed_type > feed_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrGBStreamPayloadBase&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_GBSTREAM_PAYLOAD_BASE_HXX diff --git a/oadrsd/oadrsd/2b/oadrInfo.cxx b/oadrsd/oadrsd/2b/oadrInfo.cxx new file mode 100644 index 0000000..eeb0f97 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrInfo.cxx @@ -0,0 +1,362 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrInfo.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrInfo + // + + const oadrInfo::oadrKey_type& oadrInfo:: + oadrKey () const + { + return this->oadrKey_.get (); + } + + oadrInfo::oadrKey_type& oadrInfo:: + oadrKey () + { + return this->oadrKey_.get (); + } + + void oadrInfo:: + oadrKey (const oadrKey_type& x) + { + this->oadrKey_.set (x); + } + + void oadrInfo:: + oadrKey (::std::auto_ptr< oadrKey_type > x) + { + this->oadrKey_.set (x); + } + + const oadrInfo::oadrValue_type& oadrInfo:: + oadrValue () const + { + return this->oadrValue_.get (); + } + + oadrInfo::oadrValue_type& oadrInfo:: + oadrValue () + { + return this->oadrValue_.get (); + } + + void oadrInfo:: + oadrValue (const oadrValue_type& x) + { + this->oadrValue_.set (x); + } + + void oadrInfo:: + oadrValue (::std::auto_ptr< oadrValue_type > x) + { + this->oadrValue_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrInfo + // + + oadrInfo:: + oadrInfo (const oadrKey_type& oadrKey, + const oadrValue_type& oadrValue) + : ::xml_schema::type (), + oadrKey_ (oadrKey, this), + oadrValue_ (oadrValue, this) + { + } + + oadrInfo:: + oadrInfo (::std::auto_ptr< oadrKey_type > oadrKey, + ::std::auto_ptr< oadrValue_type > oadrValue) + : ::xml_schema::type (), + oadrKey_ (oadrKey, this), + oadrValue_ (oadrValue, this) + { + } + + oadrInfo:: + oadrInfo (const oadrInfo& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrKey_ (x.oadrKey_, f, this), + oadrValue_ (x.oadrValue_, f, this) + { + } + + oadrInfo:: + oadrInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrKey_ (this), + oadrValue_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrInfo:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrKey + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrKey", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrKey_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrKey_.present ()) + { + ::std::auto_ptr< oadrKey_type > r ( + dynamic_cast< oadrKey_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrKey_.set (r); + continue; + } + } + } + + // oadrValue + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrValue", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrValue_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrValue_.present ()) + { + ::std::auto_ptr< oadrValue_type > r ( + dynamic_cast< oadrValue_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrValue_.set (r); + continue; + } + } + } + + break; + } + + if (!oadrKey_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrKey", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrValue_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrValue", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrInfo* oadrInfo:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrInfo (*this, f, c); + } + + oadrInfo& oadrInfo:: + operator= (const oadrInfo& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrKey_ = x.oadrKey_; + this->oadrValue_ = x.oadrValue_; + } + + return *this; + } + + oadrInfo:: + ~oadrInfo () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrInfo& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrKey + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrInfo::oadrKey_type& x (i.oadrKey ()); + if (typeid (oadrInfo::oadrKey_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrKey", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrKey", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // oadrValue + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrInfo::oadrValue_type& x (i.oadrValue ()); + if (typeid (oadrInfo::oadrValue_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrValue", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrValue", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrInfo.hxx b/oadrsd/oadrsd/2b/oadrInfo.hxx new file mode 100644 index 0000000..00fd5b0 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrInfo.hxx @@ -0,0 +1,392 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_INFO_HXX +#define OADR_INFO_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrInfo; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrInfo: public ::xml_schema::type + { + public: + // oadrKey + // + typedef ::xml_schema::string oadrKey_type; + typedef ::xsd::cxx::tree::traits< oadrKey_type, char > oadrKey_traits; + + const oadrKey_type& + oadrKey () const; + + oadrKey_type& + oadrKey (); + + void + oadrKey (const oadrKey_type& x); + + void + oadrKey (::std::auto_ptr< oadrKey_type > p); + + // oadrValue + // + typedef ::xml_schema::string oadrValue_type; + typedef ::xsd::cxx::tree::traits< oadrValue_type, char > oadrValue_traits; + + const oadrValue_type& + oadrValue () const; + + oadrValue_type& + oadrValue (); + + void + oadrValue (const oadrValue_type& x); + + void + oadrValue (::std::auto_ptr< oadrValue_type > p); + + // Constructors. + // + oadrInfo (const oadrKey_type&, + const oadrValue_type&); + + oadrInfo (::std::auto_ptr< oadrKey_type >, + ::std::auto_ptr< oadrValue_type >); + + oadrInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrInfo (const oadrInfo& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrInfo* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrInfo& + operator= (const oadrInfo& x); + + virtual + ~oadrInfo (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrKey_type > oadrKey_; + ::xsd::cxx::tree::one< oadrValue_type > oadrValue_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrInfo&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_INFO_HXX diff --git a/oadrsd/oadrsd/2b/oadrLoadControlStateType.cxx b/oadrsd/oadrsd/2b/oadrLoadControlStateType.cxx new file mode 100644 index 0000000..08582b8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrLoadControlStateType.cxx @@ -0,0 +1,548 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrLoadControlStateType.hxx" + +#include "oadrLoadControlStateTypeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrLoadControlStateType + // + + const oadrLoadControlStateType::oadrCapacity_optional& oadrLoadControlStateType:: + oadrCapacity () const + { + return this->oadrCapacity_; + } + + oadrLoadControlStateType::oadrCapacity_optional& oadrLoadControlStateType:: + oadrCapacity () + { + return this->oadrCapacity_; + } + + void oadrLoadControlStateType:: + oadrCapacity (const oadrCapacity_type& x) + { + this->oadrCapacity_.set (x); + } + + void oadrLoadControlStateType:: + oadrCapacity (const oadrCapacity_optional& x) + { + this->oadrCapacity_ = x; + } + + void oadrLoadControlStateType:: + oadrCapacity (::std::auto_ptr< oadrCapacity_type > x) + { + this->oadrCapacity_.set (x); + } + + const oadrLoadControlStateType::oadrLevelOffset_optional& oadrLoadControlStateType:: + oadrLevelOffset () const + { + return this->oadrLevelOffset_; + } + + oadrLoadControlStateType::oadrLevelOffset_optional& oadrLoadControlStateType:: + oadrLevelOffset () + { + return this->oadrLevelOffset_; + } + + void oadrLoadControlStateType:: + oadrLevelOffset (const oadrLevelOffset_type& x) + { + this->oadrLevelOffset_.set (x); + } + + void oadrLoadControlStateType:: + oadrLevelOffset (const oadrLevelOffset_optional& x) + { + this->oadrLevelOffset_ = x; + } + + void oadrLoadControlStateType:: + oadrLevelOffset (::std::auto_ptr< oadrLevelOffset_type > x) + { + this->oadrLevelOffset_.set (x); + } + + const oadrLoadControlStateType::oadrPercentOffset_optional& oadrLoadControlStateType:: + oadrPercentOffset () const + { + return this->oadrPercentOffset_; + } + + oadrLoadControlStateType::oadrPercentOffset_optional& oadrLoadControlStateType:: + oadrPercentOffset () + { + return this->oadrPercentOffset_; + } + + void oadrLoadControlStateType:: + oadrPercentOffset (const oadrPercentOffset_type& x) + { + this->oadrPercentOffset_.set (x); + } + + void oadrLoadControlStateType:: + oadrPercentOffset (const oadrPercentOffset_optional& x) + { + this->oadrPercentOffset_ = x; + } + + void oadrLoadControlStateType:: + oadrPercentOffset (::std::auto_ptr< oadrPercentOffset_type > x) + { + this->oadrPercentOffset_.set (x); + } + + const oadrLoadControlStateType::oadrSetPoint_optional& oadrLoadControlStateType:: + oadrSetPoint () const + { + return this->oadrSetPoint_; + } + + oadrLoadControlStateType::oadrSetPoint_optional& oadrLoadControlStateType:: + oadrSetPoint () + { + return this->oadrSetPoint_; + } + + void oadrLoadControlStateType:: + oadrSetPoint (const oadrSetPoint_type& x) + { + this->oadrSetPoint_.set (x); + } + + void oadrLoadControlStateType:: + oadrSetPoint (const oadrSetPoint_optional& x) + { + this->oadrSetPoint_ = x; + } + + void oadrLoadControlStateType:: + oadrSetPoint (::std::auto_ptr< oadrSetPoint_type > x) + { + this->oadrSetPoint_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrLoadControlStateType + // + + oadrLoadControlStateType:: + oadrLoadControlStateType () + : ::xml_schema::type (), + oadrCapacity_ (this), + oadrLevelOffset_ (this), + oadrPercentOffset_ (this), + oadrSetPoint_ (this) + { + } + + oadrLoadControlStateType:: + oadrLoadControlStateType (const oadrLoadControlStateType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrCapacity_ (x.oadrCapacity_, f, this), + oadrLevelOffset_ (x.oadrLevelOffset_, f, this), + oadrPercentOffset_ (x.oadrPercentOffset_, f, this), + oadrSetPoint_ (x.oadrSetPoint_, f, this) + { + } + + oadrLoadControlStateType:: + oadrLoadControlStateType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrCapacity_ (this), + oadrLevelOffset_ (this), + oadrPercentOffset_ (this), + oadrSetPoint_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrLoadControlStateType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrCapacity + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCapacity", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCapacity_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCapacity_) + { + ::std::auto_ptr< oadrCapacity_type > r ( + dynamic_cast< oadrCapacity_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCapacity_.set (r); + continue; + } + } + } + + // oadrLevelOffset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrLevelOffset", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrLevelOffset_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrLevelOffset_) + { + ::std::auto_ptr< oadrLevelOffset_type > r ( + dynamic_cast< oadrLevelOffset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrLevelOffset_.set (r); + continue; + } + } + } + + // oadrPercentOffset + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPercentOffset", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrPercentOffset_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrPercentOffset_) + { + ::std::auto_ptr< oadrPercentOffset_type > r ( + dynamic_cast< oadrPercentOffset_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrPercentOffset_.set (r); + continue; + } + } + } + + // oadrSetPoint + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrSetPoint", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrSetPoint_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrSetPoint_) + { + ::std::auto_ptr< oadrSetPoint_type > r ( + dynamic_cast< oadrSetPoint_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrSetPoint_.set (r); + continue; + } + } + } + + break; + } + } + + oadrLoadControlStateType* oadrLoadControlStateType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrLoadControlStateType (*this, f, c); + } + + oadrLoadControlStateType& oadrLoadControlStateType:: + operator= (const oadrLoadControlStateType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrCapacity_ = x.oadrCapacity_; + this->oadrLevelOffset_ = x.oadrLevelOffset_; + this->oadrPercentOffset_ = x.oadrPercentOffset_; + this->oadrSetPoint_ = x.oadrSetPoint_; + } + + return *this; + } + + oadrLoadControlStateType:: + ~oadrLoadControlStateType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrLoadControlStateType > + _xsd_oadrLoadControlStateType_type_factory_init ( + "oadrLoadControlStateType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrLoadControlStateType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrCapacity + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCapacity ()) + { + const oadrLoadControlStateType::oadrCapacity_type& x (*i.oadrCapacity ()); + if (typeid (oadrLoadControlStateType::oadrCapacity_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCapacity", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCapacity", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + } + + // oadrLevelOffset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrLevelOffset ()) + { + const oadrLoadControlStateType::oadrLevelOffset_type& x (*i.oadrLevelOffset ()); + if (typeid (oadrLoadControlStateType::oadrLevelOffset_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrLevelOffset", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrLevelOffset", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + } + + // oadrPercentOffset + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrPercentOffset ()) + { + const oadrLoadControlStateType::oadrPercentOffset_type& x (*i.oadrPercentOffset ()); + if (typeid (oadrLoadControlStateType::oadrPercentOffset_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrPercentOffset", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrPercentOffset", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + } + + // oadrSetPoint + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrSetPoint ()) + { + const oadrLoadControlStateType::oadrSetPoint_type& x (*i.oadrSetPoint ()); + if (typeid (oadrLoadControlStateType::oadrSetPoint_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrSetPoint", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrSetPoint", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrLoadControlStateType > + _xsd_oadrLoadControlStateType_type_serializer_init ( + "oadrLoadControlStateType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrLoadControlStateType.hxx b/oadrsd/oadrsd/2b/oadrLoadControlStateType.hxx new file mode 100644 index 0000000..bda6d79 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrLoadControlStateType.hxx @@ -0,0 +1,448 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_LOAD_CONTROL_STATE_TYPE_HXX +#define OADR_LOAD_CONTROL_STATE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateTypeType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateType: public ::xml_schema::type + { + public: + // oadrCapacity + // + typedef ::oadr2b::oadr::oadrLoadControlStateTypeType oadrCapacity_type; + typedef ::xsd::cxx::tree::optional< oadrCapacity_type > oadrCapacity_optional; + typedef ::xsd::cxx::tree::traits< oadrCapacity_type, char > oadrCapacity_traits; + + const oadrCapacity_optional& + oadrCapacity () const; + + oadrCapacity_optional& + oadrCapacity (); + + void + oadrCapacity (const oadrCapacity_type& x); + + void + oadrCapacity (const oadrCapacity_optional& x); + + void + oadrCapacity (::std::auto_ptr< oadrCapacity_type > p); + + // oadrLevelOffset + // + typedef ::oadr2b::oadr::oadrLoadControlStateTypeType oadrLevelOffset_type; + typedef ::xsd::cxx::tree::optional< oadrLevelOffset_type > oadrLevelOffset_optional; + typedef ::xsd::cxx::tree::traits< oadrLevelOffset_type, char > oadrLevelOffset_traits; + + const oadrLevelOffset_optional& + oadrLevelOffset () const; + + oadrLevelOffset_optional& + oadrLevelOffset (); + + void + oadrLevelOffset (const oadrLevelOffset_type& x); + + void + oadrLevelOffset (const oadrLevelOffset_optional& x); + + void + oadrLevelOffset (::std::auto_ptr< oadrLevelOffset_type > p); + + // oadrPercentOffset + // + typedef ::oadr2b::oadr::oadrLoadControlStateTypeType oadrPercentOffset_type; + typedef ::xsd::cxx::tree::optional< oadrPercentOffset_type > oadrPercentOffset_optional; + typedef ::xsd::cxx::tree::traits< oadrPercentOffset_type, char > oadrPercentOffset_traits; + + const oadrPercentOffset_optional& + oadrPercentOffset () const; + + oadrPercentOffset_optional& + oadrPercentOffset (); + + void + oadrPercentOffset (const oadrPercentOffset_type& x); + + void + oadrPercentOffset (const oadrPercentOffset_optional& x); + + void + oadrPercentOffset (::std::auto_ptr< oadrPercentOffset_type > p); + + // oadrSetPoint + // + typedef ::oadr2b::oadr::oadrLoadControlStateTypeType oadrSetPoint_type; + typedef ::xsd::cxx::tree::optional< oadrSetPoint_type > oadrSetPoint_optional; + typedef ::xsd::cxx::tree::traits< oadrSetPoint_type, char > oadrSetPoint_traits; + + const oadrSetPoint_optional& + oadrSetPoint () const; + + oadrSetPoint_optional& + oadrSetPoint (); + + void + oadrSetPoint (const oadrSetPoint_type& x); + + void + oadrSetPoint (const oadrSetPoint_optional& x); + + void + oadrSetPoint (::std::auto_ptr< oadrSetPoint_type > p); + + // Constructors. + // + oadrLoadControlStateType (); + + oadrLoadControlStateType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrLoadControlStateType (const oadrLoadControlStateType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrLoadControlStateType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrLoadControlStateType& + operator= (const oadrLoadControlStateType& x); + + virtual + ~oadrLoadControlStateType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrCapacity_optional oadrCapacity_; + oadrLevelOffset_optional oadrLevelOffset_; + oadrPercentOffset_optional oadrPercentOffset_; + oadrSetPoint_optional oadrSetPoint_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrLoadControlStateType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_LOAD_CONTROL_STATE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.cxx b/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.cxx new file mode 100644 index 0000000..412269a --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.cxx @@ -0,0 +1,398 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrLoadControlStateTypeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrLoadControlStateTypeType + // + + const oadrLoadControlStateTypeType::oadrMin_optional& oadrLoadControlStateTypeType:: + oadrMin () const + { + return this->oadrMin_; + } + + oadrLoadControlStateTypeType::oadrMin_optional& oadrLoadControlStateTypeType:: + oadrMin () + { + return this->oadrMin_; + } + + void oadrLoadControlStateTypeType:: + oadrMin (const oadrMin_type& x) + { + this->oadrMin_.set (x); + } + + void oadrLoadControlStateTypeType:: + oadrMin (const oadrMin_optional& x) + { + this->oadrMin_ = x; + } + + const oadrLoadControlStateTypeType::oadrMax_optional& oadrLoadControlStateTypeType:: + oadrMax () const + { + return this->oadrMax_; + } + + oadrLoadControlStateTypeType::oadrMax_optional& oadrLoadControlStateTypeType:: + oadrMax () + { + return this->oadrMax_; + } + + void oadrLoadControlStateTypeType:: + oadrMax (const oadrMax_type& x) + { + this->oadrMax_.set (x); + } + + void oadrLoadControlStateTypeType:: + oadrMax (const oadrMax_optional& x) + { + this->oadrMax_ = x; + } + + const oadrLoadControlStateTypeType::oadrCurrent_type& oadrLoadControlStateTypeType:: + oadrCurrent () const + { + return this->oadrCurrent_.get (); + } + + oadrLoadControlStateTypeType::oadrCurrent_type& oadrLoadControlStateTypeType:: + oadrCurrent () + { + return this->oadrCurrent_.get (); + } + + void oadrLoadControlStateTypeType:: + oadrCurrent (const oadrCurrent_type& x) + { + this->oadrCurrent_.set (x); + } + + const oadrLoadControlStateTypeType::oadrNormal_optional& oadrLoadControlStateTypeType:: + oadrNormal () const + { + return this->oadrNormal_; + } + + oadrLoadControlStateTypeType::oadrNormal_optional& oadrLoadControlStateTypeType:: + oadrNormal () + { + return this->oadrNormal_; + } + + void oadrLoadControlStateTypeType:: + oadrNormal (const oadrNormal_type& x) + { + this->oadrNormal_.set (x); + } + + void oadrLoadControlStateTypeType:: + oadrNormal (const oadrNormal_optional& x) + { + this->oadrNormal_ = x; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrLoadControlStateTypeType + // + + oadrLoadControlStateTypeType:: + oadrLoadControlStateTypeType (const oadrCurrent_type& oadrCurrent) + : ::xml_schema::type (), + oadrMin_ (this), + oadrMax_ (this), + oadrCurrent_ (oadrCurrent, this), + oadrNormal_ (this) + { + } + + oadrLoadControlStateTypeType:: + oadrLoadControlStateTypeType (const oadrLoadControlStateTypeType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrMin_ (x.oadrMin_, f, this), + oadrMax_ (x.oadrMax_, f, this), + oadrCurrent_ (x.oadrCurrent_, f, this), + oadrNormal_ (x.oadrNormal_, f, this) + { + } + + oadrLoadControlStateTypeType:: + oadrLoadControlStateTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrMin_ (this), + oadrMax_ (this), + oadrCurrent_ (this), + oadrNormal_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrLoadControlStateTypeType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrMin + // + if (n.name () == "oadrMin" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!this->oadrMin_) + { + this->oadrMin_.set (oadrMin_traits::create (i, f, this)); + continue; + } + } + + // oadrMax + // + if (n.name () == "oadrMax" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!this->oadrMax_) + { + this->oadrMax_.set (oadrMax_traits::create (i, f, this)); + continue; + } + } + + // oadrCurrent + // + if (n.name () == "oadrCurrent" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrCurrent_.present ()) + { + this->oadrCurrent_.set (oadrCurrent_traits::create (i, f, this)); + continue; + } + } + + // oadrNormal + // + if (n.name () == "oadrNormal" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!this->oadrNormal_) + { + this->oadrNormal_.set (oadrNormal_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!oadrCurrent_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrCurrent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrLoadControlStateTypeType* oadrLoadControlStateTypeType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrLoadControlStateTypeType (*this, f, c); + } + + oadrLoadControlStateTypeType& oadrLoadControlStateTypeType:: + operator= (const oadrLoadControlStateTypeType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrMin_ = x.oadrMin_; + this->oadrMax_ = x.oadrMax_; + this->oadrCurrent_ = x.oadrCurrent_; + this->oadrNormal_ = x.oadrNormal_; + } + + return *this; + } + + oadrLoadControlStateTypeType:: + ~oadrLoadControlStateTypeType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrLoadControlStateTypeType > + _xsd_oadrLoadControlStateTypeType_type_factory_init ( + "oadrLoadControlStateTypeType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrLoadControlStateTypeType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrMin + // + if (i.oadrMin ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrMin", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrMin (); + } + + // oadrMax + // + if (i.oadrMax ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrMax", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrMax (); + } + + // oadrCurrent + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCurrent", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrCurrent (); + } + + // oadrNormal + // + if (i.oadrNormal ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrNormal", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *i.oadrNormal (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrLoadControlStateTypeType > + _xsd_oadrLoadControlStateTypeType_type_serializer_init ( + "oadrLoadControlStateTypeType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.hxx b/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.hxx new file mode 100644 index 0000000..dc38ef4 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrLoadControlStateTypeType.hxx @@ -0,0 +1,424 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_LOAD_CONTROL_STATE_TYPE_TYPE_HXX +#define OADR_LOAD_CONTROL_STATE_TYPE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateTypeType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateTypeType: public ::xml_schema::type + { + public: + // oadrMin + // + typedef ::xml_schema::float_ oadrMin_type; + typedef ::xsd::cxx::tree::optional< oadrMin_type > oadrMin_optional; + typedef ::xsd::cxx::tree::traits< oadrMin_type, char > oadrMin_traits; + + const oadrMin_optional& + oadrMin () const; + + oadrMin_optional& + oadrMin (); + + void + oadrMin (const oadrMin_type& x); + + void + oadrMin (const oadrMin_optional& x); + + // oadrMax + // + typedef ::xml_schema::float_ oadrMax_type; + typedef ::xsd::cxx::tree::optional< oadrMax_type > oadrMax_optional; + typedef ::xsd::cxx::tree::traits< oadrMax_type, char > oadrMax_traits; + + const oadrMax_optional& + oadrMax () const; + + oadrMax_optional& + oadrMax (); + + void + oadrMax (const oadrMax_type& x); + + void + oadrMax (const oadrMax_optional& x); + + // oadrCurrent + // + typedef ::xml_schema::float_ oadrCurrent_type; + typedef ::xsd::cxx::tree::traits< oadrCurrent_type, char > oadrCurrent_traits; + + const oadrCurrent_type& + oadrCurrent () const; + + oadrCurrent_type& + oadrCurrent (); + + void + oadrCurrent (const oadrCurrent_type& x); + + // oadrNormal + // + typedef ::xml_schema::float_ oadrNormal_type; + typedef ::xsd::cxx::tree::optional< oadrNormal_type > oadrNormal_optional; + typedef ::xsd::cxx::tree::traits< oadrNormal_type, char > oadrNormal_traits; + + const oadrNormal_optional& + oadrNormal () const; + + oadrNormal_optional& + oadrNormal (); + + void + oadrNormal (const oadrNormal_type& x); + + void + oadrNormal (const oadrNormal_optional& x); + + // Constructors. + // + oadrLoadControlStateTypeType (const oadrCurrent_type&); + + oadrLoadControlStateTypeType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrLoadControlStateTypeType (const oadrLoadControlStateTypeType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrLoadControlStateTypeType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrLoadControlStateTypeType& + operator= (const oadrLoadControlStateTypeType& x); + + virtual + ~oadrLoadControlStateTypeType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrMin_optional oadrMin_; + oadrMax_optional oadrMax_; + ::xsd::cxx::tree::one< oadrCurrent_type > oadrCurrent_; + oadrNormal_optional oadrNormal_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrLoadControlStateTypeType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_LOAD_CONTROL_STATE_TYPE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrPayload.cxx b/oadrsd/oadrsd/2b/oadrPayload.cxx new file mode 100644 index 0000000..3de5926 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPayload.cxx @@ -0,0 +1,340 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrPayload.hxx" + +#include "SignatureType.hxx" + +#include "oadrSignedObject.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrPayload + // + + const oadrPayload::Signature_optional& oadrPayload:: + Signature () const + { + return this->Signature_; + } + + oadrPayload::Signature_optional& oadrPayload:: + Signature () + { + return this->Signature_; + } + + void oadrPayload:: + Signature (const Signature_type& x) + { + this->Signature_.set (x); + } + + void oadrPayload:: + Signature (const Signature_optional& x) + { + this->Signature_ = x; + } + + void oadrPayload:: + Signature (::std::auto_ptr< Signature_type > x) + { + this->Signature_.set (x); + } + + const oadrPayload::oadrSignedObject_type& oadrPayload:: + oadrSignedObject () const + { + return this->oadrSignedObject_.get (); + } + + oadrPayload::oadrSignedObject_type& oadrPayload:: + oadrSignedObject () + { + return this->oadrSignedObject_.get (); + } + + void oadrPayload:: + oadrSignedObject (const oadrSignedObject_type& x) + { + this->oadrSignedObject_.set (x); + } + + void oadrPayload:: + oadrSignedObject (::std::auto_ptr< oadrSignedObject_type > x) + { + this->oadrSignedObject_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrPayload + // + + oadrPayload:: + oadrPayload (const oadrSignedObject_type& oadrSignedObject) + : ::xml_schema::type (), + Signature_ (this), + oadrSignedObject_ (oadrSignedObject, this) + { + } + + oadrPayload:: + oadrPayload (::std::auto_ptr< oadrSignedObject_type > oadrSignedObject) + : ::xml_schema::type (), + Signature_ (this), + oadrSignedObject_ (oadrSignedObject, this) + { + } + + oadrPayload:: + oadrPayload (const oadrPayload& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + Signature_ (x.Signature_, f, this), + oadrSignedObject_ (x.oadrSignedObject_, f, this) + { + } + + oadrPayload:: + oadrPayload (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + Signature_ (this), + oadrSignedObject_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrPayload:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // Signature + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< Signature_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->Signature_) + { + ::std::auto_ptr< Signature_type > r ( + dynamic_cast< Signature_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->Signature_.set (r); + continue; + } + } + } + + // oadrSignedObject + // + if (n.name () == "oadrSignedObject" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrSignedObject_type > r ( + oadrSignedObject_traits::create (i, f, this)); + + if (!oadrSignedObject_.present ()) + { + this->oadrSignedObject_.set (r); + continue; + } + } + + break; + } + + if (!oadrSignedObject_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrPayload* oadrPayload:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrPayload (*this, f, c); + } + + oadrPayload& oadrPayload:: + operator= (const oadrPayload& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->Signature_ = x.Signature_; + this->oadrSignedObject_ = x.oadrSignedObject_; + } + + return *this; + } + + oadrPayload:: + ~oadrPayload () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrPayload& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // Signature + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.Signature ()) + { + const oadrPayload::Signature_type& x (*i.Signature ()); + if (typeid (oadrPayload::Signature_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + e)); + + s << x; + } + else + tsm.serialize ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + true, true, e, x); + } + } + + // oadrSignedObject + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrSignedObject (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrPayload.hxx b/oadrsd/oadrsd/2b/oadrPayload.hxx new file mode 100644 index 0000000..e40a585 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPayload.hxx @@ -0,0 +1,410 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PAYLOAD_HXX +#define OADR_PAYLOAD_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrPayload; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + class SignatureType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrSignedObject; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPayload: public ::xml_schema::type + { + public: + // Signature + // + typedef ::oadr2b::sig::SignatureType Signature_type; + typedef ::xsd::cxx::tree::optional< Signature_type > Signature_optional; + typedef ::xsd::cxx::tree::traits< Signature_type, char > Signature_traits; + + const Signature_optional& + Signature () const; + + Signature_optional& + Signature (); + + void + Signature (const Signature_type& x); + + void + Signature (const Signature_optional& x); + + void + Signature (::std::auto_ptr< Signature_type > p); + + // oadrSignedObject + // + typedef ::oadr2b::oadr::oadrSignedObject oadrSignedObject_type; + typedef ::xsd::cxx::tree::traits< oadrSignedObject_type, char > oadrSignedObject_traits; + + const oadrSignedObject_type& + oadrSignedObject () const; + + oadrSignedObject_type& + oadrSignedObject (); + + void + oadrSignedObject (const oadrSignedObject_type& x); + + void + oadrSignedObject (::std::auto_ptr< oadrSignedObject_type > p); + + // Constructors. + // + oadrPayload (const oadrSignedObject_type&); + + oadrPayload (::std::auto_ptr< oadrSignedObject_type >); + + oadrPayload (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrPayload (const oadrPayload& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrPayload* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrPayload& + operator= (const oadrPayload& x); + + virtual + ~oadrPayload (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + Signature_optional Signature_; + ::xsd::cxx::tree::one< oadrSignedObject_type > oadrSignedObject_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrPayload&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PAYLOAD_HXX diff --git a/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.cxx b/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.cxx new file mode 100644 index 0000000..2be4797 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.cxx @@ -0,0 +1,386 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrPayloadResourceStatusType.hxx" + +#include "oadrLoadControlStateType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrPayloadResourceStatusType + // + + const oadrPayloadResourceStatusType::oadrOnline_type& oadrPayloadResourceStatusType:: + oadrOnline () const + { + return this->oadrOnline_.get (); + } + + oadrPayloadResourceStatusType::oadrOnline_type& oadrPayloadResourceStatusType:: + oadrOnline () + { + return this->oadrOnline_.get (); + } + + void oadrPayloadResourceStatusType:: + oadrOnline (const oadrOnline_type& x) + { + this->oadrOnline_.set (x); + } + + const oadrPayloadResourceStatusType::oadrManualOverride_type& oadrPayloadResourceStatusType:: + oadrManualOverride () const + { + return this->oadrManualOverride_.get (); + } + + oadrPayloadResourceStatusType::oadrManualOverride_type& oadrPayloadResourceStatusType:: + oadrManualOverride () + { + return this->oadrManualOverride_.get (); + } + + void oadrPayloadResourceStatusType:: + oadrManualOverride (const oadrManualOverride_type& x) + { + this->oadrManualOverride_.set (x); + } + + const oadrPayloadResourceStatusType::oadrLoadControlState_optional& oadrPayloadResourceStatusType:: + oadrLoadControlState () const + { + return this->oadrLoadControlState_; + } + + oadrPayloadResourceStatusType::oadrLoadControlState_optional& oadrPayloadResourceStatusType:: + oadrLoadControlState () + { + return this->oadrLoadControlState_; + } + + void oadrPayloadResourceStatusType:: + oadrLoadControlState (const oadrLoadControlState_type& x) + { + this->oadrLoadControlState_.set (x); + } + + void oadrPayloadResourceStatusType:: + oadrLoadControlState (const oadrLoadControlState_optional& x) + { + this->oadrLoadControlState_ = x; + } + + void oadrPayloadResourceStatusType:: + oadrLoadControlState (::std::auto_ptr< oadrLoadControlState_type > x) + { + this->oadrLoadControlState_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrPayloadResourceStatusType + // + + oadrPayloadResourceStatusType:: + oadrPayloadResourceStatusType (const oadrOnline_type& oadrOnline, + const oadrManualOverride_type& oadrManualOverride) + : ::oadr2b::ei::PayloadBaseType (), + oadrOnline_ (oadrOnline, this), + oadrManualOverride_ (oadrManualOverride, this), + oadrLoadControlState_ (this) + { + } + + oadrPayloadResourceStatusType:: + oadrPayloadResourceStatusType (const oadrPayloadResourceStatusType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::PayloadBaseType (x, f, c), + oadrOnline_ (x.oadrOnline_, f, this), + oadrManualOverride_ (x.oadrManualOverride_, f, this), + oadrLoadControlState_ (x.oadrLoadControlState_, f, this) + { + } + + oadrPayloadResourceStatusType:: + oadrPayloadResourceStatusType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::PayloadBaseType (e, f | ::xml_schema::flags::base, c), + oadrOnline_ (this), + oadrManualOverride_ (this), + oadrLoadControlState_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrPayloadResourceStatusType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrOnline + // + if (n.name () == "oadrOnline" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrOnline_.present ()) + { + this->oadrOnline_.set (oadrOnline_traits::create (i, f, this)); + continue; + } + } + + // oadrManualOverride + // + if (n.name () == "oadrManualOverride" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrManualOverride_.present ()) + { + this->oadrManualOverride_.set (oadrManualOverride_traits::create (i, f, this)); + continue; + } + } + + // oadrLoadControlState + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrLoadControlState_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrLoadControlState_) + { + ::std::auto_ptr< oadrLoadControlState_type > r ( + dynamic_cast< oadrLoadControlState_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrLoadControlState_.set (r); + continue; + } + } + } + + break; + } + + if (!oadrOnline_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrOnline", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrManualOverride_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrManualOverride", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrPayloadResourceStatusType* oadrPayloadResourceStatusType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrPayloadResourceStatusType (*this, f, c); + } + + oadrPayloadResourceStatusType& oadrPayloadResourceStatusType:: + operator= (const oadrPayloadResourceStatusType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::ei::PayloadBaseType& > (*this) = x; + this->oadrOnline_ = x.oadrOnline_; + this->oadrManualOverride_ = x.oadrManualOverride_; + this->oadrLoadControlState_ = x.oadrLoadControlState_; + } + + return *this; + } + + oadrPayloadResourceStatusType:: + ~oadrPayloadResourceStatusType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrPayloadResourceStatusType > + _xsd_oadrPayloadResourceStatusType_type_factory_init ( + "oadrPayloadResourceStatusType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrPayloadResourceStatusType& i) + { + e << static_cast< const ::oadr2b::ei::PayloadBaseType& > (i); + + // oadrOnline + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrOnline", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrOnline (); + } + + // oadrManualOverride + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrManualOverride", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrManualOverride (); + } + + // oadrLoadControlState + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrLoadControlState ()) + { + const oadrPayloadResourceStatusType::oadrLoadControlState_type& x (*i.oadrLoadControlState ()); + if (typeid (oadrPayloadResourceStatusType::oadrLoadControlState_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrPayloadResourceStatusType > + _xsd_oadrPayloadResourceStatusType_type_serializer_init ( + "oadrPayloadResourceStatusType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.hxx b/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.hxx new file mode 100644 index 0000000..c0c4118 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPayloadResourceStatusType.hxx @@ -0,0 +1,415 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PAYLOAD_RESOURCE_STATUS_TYPE_HXX +#define OADR_PAYLOAD_RESOURCE_STATUS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrPayloadResourceStatusType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "PayloadBaseType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class oadrLoadControlStateType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPayloadResourceStatusType: public ::oadr2b::ei::PayloadBaseType + { + public: + // oadrOnline + // + typedef ::xml_schema::boolean oadrOnline_type; + typedef ::xsd::cxx::tree::traits< oadrOnline_type, char > oadrOnline_traits; + + const oadrOnline_type& + oadrOnline () const; + + oadrOnline_type& + oadrOnline (); + + void + oadrOnline (const oadrOnline_type& x); + + // oadrManualOverride + // + typedef ::xml_schema::boolean oadrManualOverride_type; + typedef ::xsd::cxx::tree::traits< oadrManualOverride_type, char > oadrManualOverride_traits; + + const oadrManualOverride_type& + oadrManualOverride () const; + + oadrManualOverride_type& + oadrManualOverride (); + + void + oadrManualOverride (const oadrManualOverride_type& x); + + // oadrLoadControlState + // + typedef ::oadr2b::oadr::oadrLoadControlStateType oadrLoadControlState_type; + typedef ::xsd::cxx::tree::optional< oadrLoadControlState_type > oadrLoadControlState_optional; + typedef ::xsd::cxx::tree::traits< oadrLoadControlState_type, char > oadrLoadControlState_traits; + + const oadrLoadControlState_optional& + oadrLoadControlState () const; + + oadrLoadControlState_optional& + oadrLoadControlState (); + + void + oadrLoadControlState (const oadrLoadControlState_type& x); + + void + oadrLoadControlState (const oadrLoadControlState_optional& x); + + void + oadrLoadControlState (::std::auto_ptr< oadrLoadControlState_type > p); + + // Constructors. + // + oadrPayloadResourceStatusType (const oadrOnline_type&, + const oadrManualOverride_type&); + + oadrPayloadResourceStatusType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrPayloadResourceStatusType (const oadrPayloadResourceStatusType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrPayloadResourceStatusType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrPayloadResourceStatusType& + operator= (const oadrPayloadResourceStatusType& x); + + virtual + ~oadrPayloadResourceStatusType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrOnline_type > oadrOnline_; + ::xsd::cxx::tree::one< oadrManualOverride_type > oadrManualOverride_; + oadrLoadControlState_optional oadrLoadControlState_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrPayloadResourceStatusType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PAYLOAD_RESOURCE_STATUS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrPendingReportsType.cxx b/oadrsd/oadrsd/2b/oadrPendingReportsType.cxx new file mode 100644 index 0000000..106256b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPendingReportsType.cxx @@ -0,0 +1,265 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrPendingReportsType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrPendingReportsType + // + + const oadrPendingReportsType::reportRequestID_sequence& oadrPendingReportsType:: + reportRequestID () const + { + return this->reportRequestID_; + } + + oadrPendingReportsType::reportRequestID_sequence& oadrPendingReportsType:: + reportRequestID () + { + return this->reportRequestID_; + } + + void oadrPendingReportsType:: + reportRequestID (const reportRequestID_sequence& s) + { + this->reportRequestID_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrPendingReportsType + // + + oadrPendingReportsType:: + oadrPendingReportsType () + : ::xml_schema::type (), + reportRequestID_ (this) + { + } + + oadrPendingReportsType:: + oadrPendingReportsType (const oadrPendingReportsType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + reportRequestID_ (x.reportRequestID_, f, this) + { + } + + oadrPendingReportsType:: + oadrPendingReportsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + reportRequestID_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrPendingReportsType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // reportRequestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportRequestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< reportRequestID_type > r ( + dynamic_cast< reportRequestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportRequestID_.push_back (r); + continue; + } + } + + break; + } + } + + oadrPendingReportsType* oadrPendingReportsType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrPendingReportsType (*this, f, c); + } + + oadrPendingReportsType& oadrPendingReportsType:: + operator= (const oadrPendingReportsType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->reportRequestID_ = x.reportRequestID_; + } + + return *this; + } + + oadrPendingReportsType:: + ~oadrPendingReportsType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrPendingReportsType > + _xsd_oadrPendingReportsType_type_factory_init ( + "oadrPendingReportsType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrPendingReportsType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // reportRequestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrPendingReportsType::reportRequestID_const_iterator + b (i.reportRequestID ().begin ()), n (i.reportRequestID ().end ()); + b != n; ++b) + { + if (typeid (oadrPendingReportsType::reportRequestID_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << *b; + } + else + tsm.serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, *b); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrPendingReportsType > + _xsd_oadrPendingReportsType_type_serializer_init ( + "oadrPendingReportsType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrPendingReportsType.hxx b/oadrsd/oadrsd/2b/oadrPendingReportsType.hxx new file mode 100644 index 0000000..7be0ca1 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPendingReportsType.hxx @@ -0,0 +1,370 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PENDING_REPORTS_TYPE_HXX +#define OADR_PENDING_REPORTS_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrPendingReportsType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrPendingReportsType: public ::xml_schema::type + { + public: + // reportRequestID + // + typedef ::xml_schema::string reportRequestID_type; + typedef ::xsd::cxx::tree::sequence< reportRequestID_type > reportRequestID_sequence; + typedef reportRequestID_sequence::iterator reportRequestID_iterator; + typedef reportRequestID_sequence::const_iterator reportRequestID_const_iterator; + typedef ::xsd::cxx::tree::traits< reportRequestID_type, char > reportRequestID_traits; + + const reportRequestID_sequence& + reportRequestID () const; + + reportRequestID_sequence& + reportRequestID (); + + void + reportRequestID (const reportRequestID_sequence& s); + + // Constructors. + // + oadrPendingReportsType (); + + oadrPendingReportsType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrPendingReportsType (const oadrPendingReportsType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrPendingReportsType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrPendingReportsType& + operator= (const oadrPendingReportsType& x); + + virtual + ~oadrPendingReportsType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + reportRequestID_sequence reportRequestID_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrPendingReportsType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PENDING_REPORTS_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrPollType.cxx b/oadrsd/oadrsd/2b/oadrPollType.cxx new file mode 100644 index 0000000..819c112 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPollType.cxx @@ -0,0 +1,347 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrPollType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrPollType + // + + const oadrPollType::venID_type& oadrPollType:: + venID () const + { + return this->venID_.get (); + } + + oadrPollType::venID_type& oadrPollType:: + venID () + { + return this->venID_.get (); + } + + void oadrPollType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrPollType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrPollType::schemaVersion_optional& oadrPollType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrPollType::schemaVersion_optional& oadrPollType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrPollType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrPollType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrPollType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrPollType + // + + oadrPollType:: + oadrPollType (const venID_type& venID) + : ::xml_schema::type (), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrPollType:: + oadrPollType (::std::auto_ptr< venID_type > venID) + : ::xml_schema::type (), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrPollType:: + oadrPollType (const oadrPollType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrPollType:: + oadrPollType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrPollType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrPollType* oadrPollType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrPollType (*this, f, c); + } + + oadrPollType& oadrPollType:: + operator= (const oadrPollType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrPollType:: + ~oadrPollType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrPollType > + _xsd_oadrPollType_type_factory_init ( + "oadrPollType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrPollType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrPollType::venID_type& x (i.venID ()); + if (typeid (oadrPollType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrPollType > + _xsd_oadrPollType_type_serializer_init ( + "oadrPollType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrPollType.hxx b/oadrsd/oadrsd/2b/oadrPollType.hxx new file mode 100644 index 0000000..fd08c97 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrPollType.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_POLL_TYPE_HXX +#define OADR_POLL_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrPollType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPollType: public ::xml_schema::type + { + public: + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrPollType (const venID_type&); + + oadrPollType (::std::auto_ptr< venID_type >); + + oadrPollType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrPollType (const oadrPollType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrPollType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrPollType& + operator= (const oadrPollType& x); + + virtual + ~oadrPollType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< venID_type > venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrPollType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_POLL_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrProfile.cxx b/oadrsd/oadrsd/2b/oadrProfile.cxx new file mode 100644 index 0000000..f434c28 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfile.cxx @@ -0,0 +1,349 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrProfile.hxx" + +#include "oadrProfileType.hxx" + +#include "oadrTransports.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrProfile + // + + const oadrProfile::oadrProfileName_type& oadrProfile:: + oadrProfileName () const + { + return this->oadrProfileName_.get (); + } + + oadrProfile::oadrProfileName_type& oadrProfile:: + oadrProfileName () + { + return this->oadrProfileName_.get (); + } + + void oadrProfile:: + oadrProfileName (const oadrProfileName_type& x) + { + this->oadrProfileName_.set (x); + } + + void oadrProfile:: + oadrProfileName (::std::auto_ptr< oadrProfileName_type > x) + { + this->oadrProfileName_.set (x); + } + + const oadrProfile::oadrTransports_type& oadrProfile:: + oadrTransports () const + { + return this->oadrTransports_.get (); + } + + oadrProfile::oadrTransports_type& oadrProfile:: + oadrTransports () + { + return this->oadrTransports_.get (); + } + + void oadrProfile:: + oadrTransports (const oadrTransports_type& x) + { + this->oadrTransports_.set (x); + } + + void oadrProfile:: + oadrTransports (::std::auto_ptr< oadrTransports_type > x) + { + this->oadrTransports_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrProfile + // + + oadrProfile:: + oadrProfile (const oadrProfileName_type& oadrProfileName, + const oadrTransports_type& oadrTransports) + : ::xml_schema::type (), + oadrProfileName_ (oadrProfileName, this), + oadrTransports_ (oadrTransports, this) + { + } + + oadrProfile:: + oadrProfile (const oadrProfileName_type& oadrProfileName, + ::std::auto_ptr< oadrTransports_type > oadrTransports) + : ::xml_schema::type (), + oadrProfileName_ (oadrProfileName, this), + oadrTransports_ (oadrTransports, this) + { + } + + oadrProfile:: + oadrProfile (::std::auto_ptr< oadrProfileName_type > oadrProfileName, + ::std::auto_ptr< oadrTransports_type > oadrTransports) + : ::xml_schema::type (), + oadrProfileName_ (oadrProfileName, this), + oadrTransports_ (oadrTransports, this) + { + } + + oadrProfile:: + oadrProfile (const oadrProfile& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrProfileName_ (x.oadrProfileName_, f, this), + oadrTransports_ (x.oadrTransports_, f, this) + { + } + + oadrProfile:: + oadrProfile (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrProfileName_ (this), + oadrTransports_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrProfile:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrProfileName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrProfileName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrProfileName_.present ()) + { + ::std::auto_ptr< oadrProfileName_type > r ( + dynamic_cast< oadrProfileName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrProfileName_.set (r); + continue; + } + } + } + + // oadrTransports + // + if (n.name () == "oadrTransports" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrTransports_type > r ( + oadrTransports_traits::create (i, f, this)); + + if (!oadrTransports_.present ()) + { + this->oadrTransports_.set (r); + continue; + } + } + + break; + } + + if (!oadrProfileName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrTransports_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrProfile* oadrProfile:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrProfile (*this, f, c); + } + + oadrProfile& oadrProfile:: + operator= (const oadrProfile& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrProfileName_ = x.oadrProfileName_; + this->oadrTransports_ = x.oadrTransports_; + } + + return *this; + } + + oadrProfile:: + ~oadrProfile () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrProfile& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrProfileName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrProfile::oadrProfileName_type& x (i.oadrProfileName ()); + if (typeid (oadrProfile::oadrProfileName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // oadrTransports + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrTransports (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrProfile.hxx b/oadrsd/oadrsd/2b/oadrProfile.hxx new file mode 100644 index 0000000..bda663b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfile.hxx @@ -0,0 +1,411 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PROFILE_HXX +#define OADR_PROFILE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrProfile; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrProfileType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrTransports; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrProfile: public ::xml_schema::type + { + public: + // oadrProfileName + // + typedef ::oadr2b::oadr::oadrProfileType oadrProfileName_type; + typedef ::xsd::cxx::tree::traits< oadrProfileName_type, char > oadrProfileName_traits; + + const oadrProfileName_type& + oadrProfileName () const; + + oadrProfileName_type& + oadrProfileName (); + + void + oadrProfileName (const oadrProfileName_type& x); + + void + oadrProfileName (::std::auto_ptr< oadrProfileName_type > p); + + // oadrTransports + // + typedef ::oadr2b::oadr::oadrTransports oadrTransports_type; + typedef ::xsd::cxx::tree::traits< oadrTransports_type, char > oadrTransports_traits; + + const oadrTransports_type& + oadrTransports () const; + + oadrTransports_type& + oadrTransports (); + + void + oadrTransports (const oadrTransports_type& x); + + void + oadrTransports (::std::auto_ptr< oadrTransports_type > p); + + // Constructors. + // + oadrProfile (const oadrProfileName_type&, + const oadrTransports_type&); + + oadrProfile (const oadrProfileName_type&, + ::std::auto_ptr< oadrTransports_type >); + + oadrProfile (::std::auto_ptr< oadrProfileName_type >, + ::std::auto_ptr< oadrTransports_type >); + + oadrProfile (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrProfile (const oadrProfile& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrProfile* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrProfile& + operator= (const oadrProfile& x); + + virtual + ~oadrProfile (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrProfileName_type > oadrProfileName_; + ::xsd::cxx::tree::one< oadrTransports_type > oadrTransports_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrProfile&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PROFILE_HXX diff --git a/oadrsd/oadrsd/2b/oadrProfileType.cxx b/oadrsd/oadrsd/2b/oadrProfileType.cxx new file mode 100644 index 0000000..835a6ba --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfileType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrProfileType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrProfileType + // + + oadrProfileType:: + oadrProfileType (value v) + : ::xml_schema::token (_xsd_oadrProfileType_literals_[v]) + { + } + + oadrProfileType:: + oadrProfileType (const char* v) + : ::xml_schema::token (v) + { + } + + oadrProfileType:: + oadrProfileType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + oadrProfileType:: + oadrProfileType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + oadrProfileType:: + oadrProfileType (const oadrProfileType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + oadrProfileType& oadrProfileType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_oadrProfileType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrProfileType + // + + oadrProfileType:: + oadrProfileType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_oadrProfileType_convert (); + } + + oadrProfileType:: + oadrProfileType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_oadrProfileType_convert (); + } + + oadrProfileType:: + oadrProfileType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_oadrProfileType_convert (); + } + + oadrProfileType* oadrProfileType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrProfileType (*this, f, c); + } + + oadrProfileType::value oadrProfileType:: + _xsd_oadrProfileType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_oadrProfileType_literals_); + const value* i (::std::lower_bound ( + _xsd_oadrProfileType_indexes_, + _xsd_oadrProfileType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_oadrProfileType_indexes_ + 2 || _xsd_oadrProfileType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const oadrProfileType:: + _xsd_oadrProfileType_literals_[2] = + { + "2.0a", + "2.0b" + }; + + const oadrProfileType::value oadrProfileType:: + _xsd_oadrProfileType_indexes_[2] = + { + ::oadr2b::oadr::oadrProfileType::cxx_2_0a, + ::oadr2b::oadr::oadrProfileType::cxx_2_0b + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrProfileType > + _xsd_oadrProfileType_type_factory_init ( + "oadrProfileType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrProfileType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const oadrProfileType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const oadrProfileType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrProfileType > + _xsd_oadrProfileType_type_serializer_init ( + "oadrProfileType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrProfileType.hxx b/oadrsd/oadrsd/2b/oadrProfileType.hxx new file mode 100644 index 0000000..00ab15b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfileType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PROFILE_TYPE_HXX +#define OADR_PROFILE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrProfileType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrProfileType: public ::xml_schema::token + { + public: + enum value + { + cxx_2_0a, + cxx_2_0b + }; + + oadrProfileType (value v); + + oadrProfileType (const char* v); + + oadrProfileType (const ::std::string& v); + + oadrProfileType (const ::xml_schema::token& v); + + oadrProfileType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrProfileType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrProfileType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrProfileType (const oadrProfileType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrProfileType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrProfileType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_oadrProfileType_convert (); + } + + protected: + value + _xsd_oadrProfileType_convert () const; + + public: + static const char* const _xsd_oadrProfileType_literals_[2]; + static const value _xsd_oadrProfileType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrProfileType&); + + void + operator<< (::xercesc::DOMAttr&, const oadrProfileType&); + + void + operator<< (::xml_schema::list_stream&, + const oadrProfileType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PROFILE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrProfiles.cxx b/oadrsd/oadrsd/2b/oadrProfiles.cxx new file mode 100644 index 0000000..bf73b02 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfiles.cxx @@ -0,0 +1,228 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrProfiles.hxx" + +#include "oadrProfile.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrProfiles + // + + const oadrProfiles::oadrProfile_sequence& oadrProfiles:: + oadrProfile () const + { + return this->oadrProfile_; + } + + oadrProfiles::oadrProfile_sequence& oadrProfiles:: + oadrProfile () + { + return this->oadrProfile_; + } + + void oadrProfiles:: + oadrProfile (const oadrProfile_sequence& s) + { + this->oadrProfile_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrProfiles + // + + oadrProfiles:: + oadrProfiles () + : ::xml_schema::type (), + oadrProfile_ (this) + { + } + + oadrProfiles:: + oadrProfiles (const oadrProfiles& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrProfile_ (x.oadrProfile_, f, this) + { + } + + oadrProfiles:: + oadrProfiles (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrProfile_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrProfiles:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrProfile + // + if (n.name () == "oadrProfile" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrProfile_type > r ( + oadrProfile_traits::create (i, f, this)); + + this->oadrProfile_.push_back (r); + continue; + } + + break; + } + } + + oadrProfiles* oadrProfiles:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrProfiles (*this, f, c); + } + + oadrProfiles& oadrProfiles:: + operator= (const oadrProfiles& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrProfile_ = x.oadrProfile_; + } + + return *this; + } + + oadrProfiles:: + ~oadrProfiles () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrProfiles& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrProfile + // + for (oadrProfiles::oadrProfile_const_iterator + b (i.oadrProfile ().begin ()), n (i.oadrProfile ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrProfile", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrProfiles.hxx b/oadrsd/oadrsd/2b/oadrProfiles.hxx new file mode 100644 index 0000000..feaea63 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrProfiles.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PROFILES_HXX +#define OADR_PROFILES_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrProfiles; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrProfile; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrProfiles: public ::xml_schema::type + { + public: + // oadrProfile + // + typedef ::oadr2b::oadr::oadrProfile oadrProfile_type; + typedef ::xsd::cxx::tree::sequence< oadrProfile_type > oadrProfile_sequence; + typedef oadrProfile_sequence::iterator oadrProfile_iterator; + typedef oadrProfile_sequence::const_iterator oadrProfile_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrProfile_type, char > oadrProfile_traits; + + const oadrProfile_sequence& + oadrProfile () const; + + oadrProfile_sequence& + oadrProfile (); + + void + oadrProfile (const oadrProfile_sequence& s); + + // Constructors. + // + oadrProfiles (); + + oadrProfiles (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrProfiles (const oadrProfiles& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrProfiles* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrProfiles& + operator= (const oadrProfiles& x); + + virtual + ~oadrProfiles (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrProfile_sequence oadrProfile_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrProfiles&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PROFILES_HXX diff --git a/oadrsd/oadrsd/2b/oadrQueryRegistrationType.cxx b/oadrsd/oadrsd/2b/oadrQueryRegistrationType.cxx new file mode 100644 index 0000000..7e87a71 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrQueryRegistrationType.cxx @@ -0,0 +1,347 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrQueryRegistrationType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrQueryRegistrationType + // + + const oadrQueryRegistrationType::requestID_type& oadrQueryRegistrationType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrQueryRegistrationType::requestID_type& oadrQueryRegistrationType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrQueryRegistrationType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrQueryRegistrationType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrQueryRegistrationType::schemaVersion_optional& oadrQueryRegistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrQueryRegistrationType::schemaVersion_optional& oadrQueryRegistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrQueryRegistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrQueryRegistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrQueryRegistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrQueryRegistrationType + // + + oadrQueryRegistrationType:: + oadrQueryRegistrationType (const requestID_type& requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + schemaVersion_ (this) + { + } + + oadrQueryRegistrationType:: + oadrQueryRegistrationType (::std::auto_ptr< requestID_type > requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + schemaVersion_ (this) + { + } + + oadrQueryRegistrationType:: + oadrQueryRegistrationType (const oadrQueryRegistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrQueryRegistrationType:: + oadrQueryRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrQueryRegistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrQueryRegistrationType* oadrQueryRegistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrQueryRegistrationType (*this, f, c); + } + + oadrQueryRegistrationType& oadrQueryRegistrationType:: + operator= (const oadrQueryRegistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrQueryRegistrationType:: + ~oadrQueryRegistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrQueryRegistrationType > + _xsd_oadrQueryRegistrationType_type_factory_init ( + "oadrQueryRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrQueryRegistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrQueryRegistrationType::requestID_type& x (i.requestID ()); + if (typeid (oadrQueryRegistrationType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrQueryRegistrationType > + _xsd_oadrQueryRegistrationType_type_serializer_init ( + "oadrQueryRegistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrQueryRegistrationType.hxx b/oadrsd/oadrsd/2b/oadrQueryRegistrationType.hxx new file mode 100644 index 0000000..641c3fe --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrQueryRegistrationType.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_QUERY_REGISTRATION_TYPE_HXX +#define OADR_QUERY_REGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrQueryRegistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrQueryRegistrationType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrQueryRegistrationType (const requestID_type&); + + oadrQueryRegistrationType (::std::auto_ptr< requestID_type >); + + oadrQueryRegistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrQueryRegistrationType (const oadrQueryRegistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrQueryRegistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrQueryRegistrationType& + operator= (const oadrQueryRegistrationType& x); + + virtual + ~oadrQueryRegistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrQueryRegistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_QUERY_REGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrRegisterReportType.cxx b/oadrsd/oadrsd/2b/oadrRegisterReportType.cxx new file mode 100644 index 0000000..2574137 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRegisterReportType.cxx @@ -0,0 +1,605 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrRegisterReportType.hxx" + +#include "oadrReportType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrRegisterReportType + // + + const oadrRegisterReportType::requestID_type& oadrRegisterReportType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrRegisterReportType::requestID_type& oadrRegisterReportType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrRegisterReportType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrRegisterReportType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrRegisterReportType::oadrReport_sequence& oadrRegisterReportType:: + oadrReport () const + { + return this->oadrReport_; + } + + oadrRegisterReportType::oadrReport_sequence& oadrRegisterReportType:: + oadrReport () + { + return this->oadrReport_; + } + + void oadrRegisterReportType:: + oadrReport (const oadrReport_sequence& s) + { + this->oadrReport_ = s; + } + + const oadrRegisterReportType::venID_optional& oadrRegisterReportType:: + venID () const + { + return this->venID_; + } + + oadrRegisterReportType::venID_optional& oadrRegisterReportType:: + venID () + { + return this->venID_; + } + + void oadrRegisterReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrRegisterReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrRegisterReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrRegisterReportType::reportRequestID_optional& oadrRegisterReportType:: + reportRequestID () const + { + return this->reportRequestID_; + } + + oadrRegisterReportType::reportRequestID_optional& oadrRegisterReportType:: + reportRequestID () + { + return this->reportRequestID_; + } + + void oadrRegisterReportType:: + reportRequestID (const reportRequestID_type& x) + { + this->reportRequestID_.set (x); + } + + void oadrRegisterReportType:: + reportRequestID (const reportRequestID_optional& x) + { + this->reportRequestID_ = x; + } + + void oadrRegisterReportType:: + reportRequestID (::std::auto_ptr< reportRequestID_type > x) + { + this->reportRequestID_.set (x); + } + + const oadrRegisterReportType::schemaVersion_optional& oadrRegisterReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrRegisterReportType::schemaVersion_optional& oadrRegisterReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrRegisterReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrRegisterReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrRegisterReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrRegisterReportType + // + + oadrRegisterReportType:: + oadrRegisterReportType (const requestID_type& requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReport_ (this), + venID_ (this), + reportRequestID_ (this), + schemaVersion_ (this) + { + } + + oadrRegisterReportType:: + oadrRegisterReportType (::std::auto_ptr< requestID_type > requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReport_ (this), + venID_ (this), + reportRequestID_ (this), + schemaVersion_ (this) + { + } + + oadrRegisterReportType:: + oadrRegisterReportType (const oadrRegisterReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + oadrReport_ (x.oadrReport_, f, this), + venID_ (x.venID_, f, this), + reportRequestID_ (x.reportRequestID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrRegisterReportType:: + oadrRegisterReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + oadrReport_ (this), + venID_ (this), + reportRequestID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrRegisterReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // oadrReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< oadrReport_type > r ( + dynamic_cast< oadrReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrReport_.push_back (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + // reportRequestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportRequestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->reportRequestID_) + { + ::std::auto_ptr< reportRequestID_type > r ( + dynamic_cast< reportRequestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportRequestID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrRegisterReportType* oadrRegisterReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrRegisterReportType (*this, f, c); + } + + oadrRegisterReportType& oadrRegisterReportType:: + operator= (const oadrRegisterReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->oadrReport_ = x.oadrReport_; + this->venID_ = x.venID_; + this->reportRequestID_ = x.reportRequestID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrRegisterReportType:: + ~oadrRegisterReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrRegisterReportType > + _xsd_oadrRegisterReportType_type_factory_init ( + "oadrRegisterReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrRegisterReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrRegisterReportType::requestID_type& x (i.requestID ()); + if (typeid (oadrRegisterReportType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // oadrReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrRegisterReportType::oadrReport_const_iterator + b (i.oadrReport ().begin ()), n (i.oadrReport ().end ()); + b != n; ++b) + { + if (typeid (oadrRegisterReportType::oadrReport_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + else + tsm.serialize ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, *b); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrRegisterReportType::venID_type& x (*i.venID ()); + if (typeid (oadrRegisterReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // reportRequestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.reportRequestID ()) + { + const oadrRegisterReportType::reportRequestID_type& x (*i.reportRequestID ()); + if (typeid (oadrRegisterReportType::reportRequestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrRegisterReportType > + _xsd_oadrRegisterReportType_type_serializer_init ( + "oadrRegisterReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrRegisterReportType.hxx b/oadrsd/oadrsd/2b/oadrRegisterReportType.hxx new file mode 100644 index 0000000..e2cdf1e --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRegisterReportType.hxx @@ -0,0 +1,472 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REGISTER_REPORT_TYPE_HXX +#define OADR_REGISTER_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrRegisterReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrReportType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRegisterReportType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // oadrReport + // + typedef ::oadr2b::oadr::oadrReportType oadrReport_type; + typedef ::xsd::cxx::tree::sequence< oadrReport_type > oadrReport_sequence; + typedef oadrReport_sequence::iterator oadrReport_iterator; + typedef oadrReport_sequence::const_iterator oadrReport_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrReport_type, char > oadrReport_traits; + + const oadrReport_sequence& + oadrReport () const; + + oadrReport_sequence& + oadrReport (); + + void + oadrReport (const oadrReport_sequence& s); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // reportRequestID + // + typedef ::xml_schema::string reportRequestID_type; + typedef ::xsd::cxx::tree::optional< reportRequestID_type > reportRequestID_optional; + typedef ::xsd::cxx::tree::traits< reportRequestID_type, char > reportRequestID_traits; + + const reportRequestID_optional& + reportRequestID () const; + + reportRequestID_optional& + reportRequestID (); + + void + reportRequestID (const reportRequestID_type& x); + + void + reportRequestID (const reportRequestID_optional& x); + + void + reportRequestID (::std::auto_ptr< reportRequestID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrRegisterReportType (const requestID_type&); + + oadrRegisterReportType (::std::auto_ptr< requestID_type >); + + oadrRegisterReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrRegisterReportType (const oadrRegisterReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrRegisterReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrRegisterReportType& + operator= (const oadrRegisterReportType& x); + + virtual + ~oadrRegisterReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + oadrReport_sequence oadrReport_; + venID_optional venID_; + reportRequestID_optional reportRequestID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrRegisterReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REGISTER_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrRegisteredReportType.cxx b/oadrsd/oadrsd/2b/oadrRegisteredReportType.cxx new file mode 100644 index 0000000..479c6bd --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRegisteredReportType.cxx @@ -0,0 +1,517 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrRegisteredReportType.hxx" + +#include "EiResponseType.hxx" + +#include "oadrReportRequestType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrRegisteredReportType + // + + const oadrRegisteredReportType::eiResponse_type& oadrRegisteredReportType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrRegisteredReportType::eiResponse_type& oadrRegisteredReportType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrRegisteredReportType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrRegisteredReportType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrRegisteredReportType::oadrReportRequest_sequence& oadrRegisteredReportType:: + oadrReportRequest () const + { + return this->oadrReportRequest_; + } + + oadrRegisteredReportType::oadrReportRequest_sequence& oadrRegisteredReportType:: + oadrReportRequest () + { + return this->oadrReportRequest_; + } + + void oadrRegisteredReportType:: + oadrReportRequest (const oadrReportRequest_sequence& s) + { + this->oadrReportRequest_ = s; + } + + const oadrRegisteredReportType::venID_optional& oadrRegisteredReportType:: + venID () const + { + return this->venID_; + } + + oadrRegisteredReportType::venID_optional& oadrRegisteredReportType:: + venID () + { + return this->venID_; + } + + void oadrRegisteredReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrRegisteredReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrRegisteredReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrRegisteredReportType::schemaVersion_optional& oadrRegisteredReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrRegisteredReportType::schemaVersion_optional& oadrRegisteredReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrRegisteredReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrRegisteredReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrRegisteredReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrRegisteredReportType + // + + oadrRegisteredReportType:: + oadrRegisteredReportType (const eiResponse_type& eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrRegisteredReportType:: + oadrRegisteredReportType (::std::auto_ptr< eiResponse_type > eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrRegisteredReportType:: + oadrRegisteredReportType (const oadrRegisteredReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + oadrReportRequest_ (x.oadrReportRequest_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrRegisteredReportType:: + oadrRegisteredReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + oadrReportRequest_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrRegisteredReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // oadrReportRequest + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrReportRequest_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< oadrReportRequest_type > r ( + dynamic_cast< oadrReportRequest_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrReportRequest_.push_back (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrRegisteredReportType* oadrRegisteredReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrRegisteredReportType (*this, f, c); + } + + oadrRegisteredReportType& oadrRegisteredReportType:: + operator= (const oadrRegisteredReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->oadrReportRequest_ = x.oadrReportRequest_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrRegisteredReportType:: + ~oadrRegisteredReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrRegisteredReportType > + _xsd_oadrRegisteredReportType_type_factory_init ( + "oadrRegisteredReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrRegisteredReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrRegisteredReportType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrRegisteredReportType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrReportRequest + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrRegisteredReportType::oadrReportRequest_const_iterator + b (i.oadrReportRequest ().begin ()), n (i.oadrReportRequest ().end ()); + b != n; ++b) + { + if (typeid (oadrRegisteredReportType::oadrReportRequest_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + else + tsm.serialize ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, *b); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrRegisteredReportType::venID_type& x (*i.venID ()); + if (typeid (oadrRegisteredReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrRegisteredReportType > + _xsd_oadrRegisteredReportType_type_serializer_init ( + "oadrRegisteredReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrRegisteredReportType.hxx b/oadrsd/oadrsd/2b/oadrRegisteredReportType.hxx new file mode 100644 index 0000000..52dc1b5 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRegisteredReportType.hxx @@ -0,0 +1,458 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REGISTERED_REPORT_TYPE_HXX +#define OADR_REGISTERED_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrRegisteredReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrReportRequestType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRegisteredReportType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // oadrReportRequest + // + typedef ::oadr2b::oadr::oadrReportRequestType oadrReportRequest_type; + typedef ::xsd::cxx::tree::sequence< oadrReportRequest_type > oadrReportRequest_sequence; + typedef oadrReportRequest_sequence::iterator oadrReportRequest_iterator; + typedef oadrReportRequest_sequence::const_iterator oadrReportRequest_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrReportRequest_type, char > oadrReportRequest_traits; + + const oadrReportRequest_sequence& + oadrReportRequest () const; + + oadrReportRequest_sequence& + oadrReportRequest (); + + void + oadrReportRequest (const oadrReportRequest_sequence& s); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrRegisteredReportType (const eiResponse_type&); + + oadrRegisteredReportType (::std::auto_ptr< eiResponse_type >); + + oadrRegisteredReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrRegisteredReportType (const oadrRegisteredReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrRegisteredReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrRegisteredReportType& + operator= (const oadrRegisteredReportType& x); + + virtual + ~oadrRegisteredReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + oadrReportRequest_sequence oadrReportRequest_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrRegisteredReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REGISTERED_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrReportDescriptionType.cxx b/oadrsd/oadrsd/2b/oadrReportDescriptionType.cxx new file mode 100644 index 0000000..25c4f8f --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportDescriptionType.cxx @@ -0,0 +1,926 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrReportDescriptionType.hxx" + +#include "EiTargetType.hxx" + +#include "ReportTypeType.hxx" + +#include "ItemBaseType.hxx" + +#include "ReadingTypeType.hxx" + +#include "MarketContextType.hxx" + +#include "oadrSamplingRateType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrReportDescriptionType + // + + const oadrReportDescriptionType::rID_type& oadrReportDescriptionType:: + rID () const + { + return this->rID_.get (); + } + + oadrReportDescriptionType::rID_type& oadrReportDescriptionType:: + rID () + { + return this->rID_.get (); + } + + void oadrReportDescriptionType:: + rID (const rID_type& x) + { + this->rID_.set (x); + } + + void oadrReportDescriptionType:: + rID (::std::auto_ptr< rID_type > x) + { + this->rID_.set (x); + } + + const oadrReportDescriptionType::reportSubject_optional& oadrReportDescriptionType:: + reportSubject () const + { + return this->reportSubject_; + } + + oadrReportDescriptionType::reportSubject_optional& oadrReportDescriptionType:: + reportSubject () + { + return this->reportSubject_; + } + + void oadrReportDescriptionType:: + reportSubject (const reportSubject_type& x) + { + this->reportSubject_.set (x); + } + + void oadrReportDescriptionType:: + reportSubject (const reportSubject_optional& x) + { + this->reportSubject_ = x; + } + + void oadrReportDescriptionType:: + reportSubject (::std::auto_ptr< reportSubject_type > x) + { + this->reportSubject_.set (x); + } + + const oadrReportDescriptionType::reportDataSource_optional& oadrReportDescriptionType:: + reportDataSource () const + { + return this->reportDataSource_; + } + + oadrReportDescriptionType::reportDataSource_optional& oadrReportDescriptionType:: + reportDataSource () + { + return this->reportDataSource_; + } + + void oadrReportDescriptionType:: + reportDataSource (const reportDataSource_type& x) + { + this->reportDataSource_.set (x); + } + + void oadrReportDescriptionType:: + reportDataSource (const reportDataSource_optional& x) + { + this->reportDataSource_ = x; + } + + void oadrReportDescriptionType:: + reportDataSource (::std::auto_ptr< reportDataSource_type > x) + { + this->reportDataSource_.set (x); + } + + const oadrReportDescriptionType::reportType_type& oadrReportDescriptionType:: + reportType () const + { + return this->reportType_.get (); + } + + oadrReportDescriptionType::reportType_type& oadrReportDescriptionType:: + reportType () + { + return this->reportType_.get (); + } + + void oadrReportDescriptionType:: + reportType (const reportType_type& x) + { + this->reportType_.set (x); + } + + void oadrReportDescriptionType:: + reportType (::std::auto_ptr< reportType_type > x) + { + this->reportType_.set (x); + } + + const oadrReportDescriptionType::itemBase_optional& oadrReportDescriptionType:: + itemBase () const + { + return this->itemBase_; + } + + oadrReportDescriptionType::itemBase_optional& oadrReportDescriptionType:: + itemBase () + { + return this->itemBase_; + } + + void oadrReportDescriptionType:: + itemBase (const itemBase_type& x) + { + this->itemBase_.set (x); + } + + void oadrReportDescriptionType:: + itemBase (const itemBase_optional& x) + { + this->itemBase_ = x; + } + + void oadrReportDescriptionType:: + itemBase (::std::auto_ptr< itemBase_type > x) + { + this->itemBase_.set (x); + } + + const oadrReportDescriptionType::readingType_type& oadrReportDescriptionType:: + readingType () const + { + return this->readingType_.get (); + } + + oadrReportDescriptionType::readingType_type& oadrReportDescriptionType:: + readingType () + { + return this->readingType_.get (); + } + + void oadrReportDescriptionType:: + readingType (const readingType_type& x) + { + this->readingType_.set (x); + } + + void oadrReportDescriptionType:: + readingType (::std::auto_ptr< readingType_type > x) + { + this->readingType_.set (x); + } + + const oadrReportDescriptionType::marketContext_optional& oadrReportDescriptionType:: + marketContext () const + { + return this->marketContext_; + } + + oadrReportDescriptionType::marketContext_optional& oadrReportDescriptionType:: + marketContext () + { + return this->marketContext_; + } + + void oadrReportDescriptionType:: + marketContext (const marketContext_type& x) + { + this->marketContext_.set (x); + } + + void oadrReportDescriptionType:: + marketContext (const marketContext_optional& x) + { + this->marketContext_ = x; + } + + void oadrReportDescriptionType:: + marketContext (::std::auto_ptr< marketContext_type > x) + { + this->marketContext_.set (x); + } + + const oadrReportDescriptionType::oadrSamplingRate_optional& oadrReportDescriptionType:: + oadrSamplingRate () const + { + return this->oadrSamplingRate_; + } + + oadrReportDescriptionType::oadrSamplingRate_optional& oadrReportDescriptionType:: + oadrSamplingRate () + { + return this->oadrSamplingRate_; + } + + void oadrReportDescriptionType:: + oadrSamplingRate (const oadrSamplingRate_type& x) + { + this->oadrSamplingRate_.set (x); + } + + void oadrReportDescriptionType:: + oadrSamplingRate (const oadrSamplingRate_optional& x) + { + this->oadrSamplingRate_ = x; + } + + void oadrReportDescriptionType:: + oadrSamplingRate (::std::auto_ptr< oadrSamplingRate_type > x) + { + this->oadrSamplingRate_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrReportDescriptionType + // + + oadrReportDescriptionType:: + oadrReportDescriptionType (const rID_type& rID, + const reportType_type& reportType, + const readingType_type& readingType) + : ::xml_schema::type (), + rID_ (rID, this), + reportSubject_ (this), + reportDataSource_ (this), + reportType_ (reportType, this), + itemBase_ (this), + readingType_ (readingType, this), + marketContext_ (this), + oadrSamplingRate_ (this) + { + } + + oadrReportDescriptionType:: + oadrReportDescriptionType (::std::auto_ptr< rID_type > rID, + ::std::auto_ptr< reportType_type > reportType, + ::std::auto_ptr< readingType_type > readingType) + : ::xml_schema::type (), + rID_ (rID, this), + reportSubject_ (this), + reportDataSource_ (this), + reportType_ (reportType, this), + itemBase_ (this), + readingType_ (readingType, this), + marketContext_ (this), + oadrSamplingRate_ (this) + { + } + + oadrReportDescriptionType:: + oadrReportDescriptionType (const oadrReportDescriptionType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + rID_ (x.rID_, f, this), + reportSubject_ (x.reportSubject_, f, this), + reportDataSource_ (x.reportDataSource_, f, this), + reportType_ (x.reportType_, f, this), + itemBase_ (x.itemBase_, f, this), + readingType_ (x.readingType_, f, this), + marketContext_ (x.marketContext_, f, this), + oadrSamplingRate_ (x.oadrSamplingRate_, f, this) + { + } + + oadrReportDescriptionType:: + oadrReportDescriptionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + rID_ (this), + reportSubject_ (this), + reportDataSource_ (this), + reportType_ (this), + itemBase_ (this), + readingType_ (this), + marketContext_ (this), + oadrSamplingRate_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrReportDescriptionType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // rID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< rID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!rID_.present ()) + { + ::std::auto_ptr< rID_type > r ( + dynamic_cast< rID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rID_.set (r); + continue; + } + } + } + + // reportSubject + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportSubject_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->reportSubject_) + { + ::std::auto_ptr< reportSubject_type > r ( + dynamic_cast< reportSubject_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportSubject_.set (r); + continue; + } + } + } + + // reportDataSource + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportDataSource_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->reportDataSource_) + { + ::std::auto_ptr< reportDataSource_type > r ( + dynamic_cast< reportDataSource_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportDataSource_.set (r); + continue; + } + } + } + + // reportType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportType_.present ()) + { + ::std::auto_ptr< reportType_type > r ( + dynamic_cast< reportType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportType_.set (r); + continue; + } + } + } + + // itemBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< itemBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->itemBase_) + { + ::std::auto_ptr< itemBase_type > r ( + dynamic_cast< itemBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemBase_.set (r); + continue; + } + } + } + + // readingType + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< readingType_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!readingType_.present ()) + { + ::std::auto_ptr< readingType_type > r ( + dynamic_cast< readingType_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->readingType_.set (r); + continue; + } + } + } + + // marketContext + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< marketContext_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->marketContext_) + { + ::std::auto_ptr< marketContext_type > r ( + dynamic_cast< marketContext_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->marketContext_.set (r); + continue; + } + } + } + + // oadrSamplingRate + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrSamplingRate_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrSamplingRate_) + { + ::std::auto_ptr< oadrSamplingRate_type > r ( + dynamic_cast< oadrSamplingRate_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrSamplingRate_.set (r); + continue; + } + } + } + + break; + } + + if (!rID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!reportType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!readingType_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + oadrReportDescriptionType* oadrReportDescriptionType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrReportDescriptionType (*this, f, c); + } + + oadrReportDescriptionType& oadrReportDescriptionType:: + operator= (const oadrReportDescriptionType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->rID_ = x.rID_; + this->reportSubject_ = x.reportSubject_; + this->reportDataSource_ = x.reportDataSource_; + this->reportType_ = x.reportType_; + this->itemBase_ = x.itemBase_; + this->readingType_ = x.readingType_; + this->marketContext_ = x.marketContext_; + this->oadrSamplingRate_ = x.oadrSamplingRate_; + } + + return *this; + } + + oadrReportDescriptionType:: + ~oadrReportDescriptionType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrReportDescriptionType > + _xsd_oadrReportDescriptionType_type_factory_init ( + "oadrReportDescriptionType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrReportDescriptionType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // rID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportDescriptionType::rID_type& x (i.rID ()); + if (typeid (oadrReportDescriptionType::rID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // reportSubject + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.reportSubject ()) + { + const oadrReportDescriptionType::reportSubject_type& x (*i.reportSubject ()); + if (typeid (oadrReportDescriptionType::reportSubject_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // reportDataSource + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.reportDataSource ()) + { + const oadrReportDescriptionType::reportDataSource_type& x (*i.reportDataSource ()); + if (typeid (oadrReportDescriptionType::reportDataSource_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // reportType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportDescriptionType::reportType_type& x (i.reportType ()); + if (typeid (oadrReportDescriptionType::reportType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // itemBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.itemBase ()) + { + const oadrReportDescriptionType::itemBase_type& x (*i.itemBase ()); + if (typeid (oadrReportDescriptionType::itemBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + + // readingType + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportDescriptionType::readingType_type& x (i.readingType ()); + if (typeid (oadrReportDescriptionType::readingType_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // marketContext + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.marketContext ()) + { + const oadrReportDescriptionType::marketContext_type& x (*i.marketContext ()); + if (typeid (oadrReportDescriptionType::marketContext_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + e)); + + s << x; + } + else + tsm.serialize ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + true, true, e, x); + } + } + + // oadrSamplingRate + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrSamplingRate ()) + { + const oadrReportDescriptionType::oadrSamplingRate_type& x (*i.oadrSamplingRate ()); + if (typeid (oadrReportDescriptionType::oadrSamplingRate_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrReportDescriptionType > + _xsd_oadrReportDescriptionType_type_serializer_init ( + "oadrReportDescriptionType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrReportDescriptionType.hxx b/oadrsd/oadrsd/2b/oadrReportDescriptionType.hxx new file mode 100644 index 0000000..7557147 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportDescriptionType.hxx @@ -0,0 +1,570 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REPORT_DESCRIPTION_TYPE_HXX +#define OADR_REPORT_DESCRIPTION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrReportDescriptionType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiTargetType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ReportTypeType; + } +} + +namespace oadr2b +{ + namespace emix + { + class ItemBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class ReadingTypeType; + } +} + +namespace oadr2b +{ + namespace emix + { + class MarketContextType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrSamplingRateType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrReportDescriptionType: public ::xml_schema::type + { + public: + // rID + // + typedef ::xml_schema::string rID_type; + typedef ::xsd::cxx::tree::traits< rID_type, char > rID_traits; + + const rID_type& + rID () const; + + rID_type& + rID (); + + void + rID (const rID_type& x); + + void + rID (::std::auto_ptr< rID_type > p); + + // reportSubject + // + typedef ::oadr2b::ei::EiTargetType reportSubject_type; + typedef ::xsd::cxx::tree::optional< reportSubject_type > reportSubject_optional; + typedef ::xsd::cxx::tree::traits< reportSubject_type, char > reportSubject_traits; + + const reportSubject_optional& + reportSubject () const; + + reportSubject_optional& + reportSubject (); + + void + reportSubject (const reportSubject_type& x); + + void + reportSubject (const reportSubject_optional& x); + + void + reportSubject (::std::auto_ptr< reportSubject_type > p); + + // reportDataSource + // + typedef ::oadr2b::ei::EiTargetType reportDataSource_type; + typedef ::xsd::cxx::tree::optional< reportDataSource_type > reportDataSource_optional; + typedef ::xsd::cxx::tree::traits< reportDataSource_type, char > reportDataSource_traits; + + const reportDataSource_optional& + reportDataSource () const; + + reportDataSource_optional& + reportDataSource (); + + void + reportDataSource (const reportDataSource_type& x); + + void + reportDataSource (const reportDataSource_optional& x); + + void + reportDataSource (::std::auto_ptr< reportDataSource_type > p); + + // reportType + // + typedef ::oadr2b::ei::ReportTypeType reportType_type; + typedef ::xsd::cxx::tree::traits< reportType_type, char > reportType_traits; + + const reportType_type& + reportType () const; + + reportType_type& + reportType (); + + void + reportType (const reportType_type& x); + + void + reportType (::std::auto_ptr< reportType_type > p); + + // itemBase + // + typedef ::oadr2b::emix::ItemBaseType itemBase_type; + typedef ::xsd::cxx::tree::optional< itemBase_type > itemBase_optional; + typedef ::xsd::cxx::tree::traits< itemBase_type, char > itemBase_traits; + + const itemBase_optional& + itemBase () const; + + itemBase_optional& + itemBase (); + + void + itemBase (const itemBase_type& x); + + void + itemBase (const itemBase_optional& x); + + void + itemBase (::std::auto_ptr< itemBase_type > p); + + // readingType + // + typedef ::oadr2b::ei::ReadingTypeType readingType_type; + typedef ::xsd::cxx::tree::traits< readingType_type, char > readingType_traits; + + const readingType_type& + readingType () const; + + readingType_type& + readingType (); + + void + readingType (const readingType_type& x); + + void + readingType (::std::auto_ptr< readingType_type > p); + + // marketContext + // + typedef ::oadr2b::emix::MarketContextType marketContext_type; + typedef ::xsd::cxx::tree::optional< marketContext_type > marketContext_optional; + typedef ::xsd::cxx::tree::traits< marketContext_type, char > marketContext_traits; + + const marketContext_optional& + marketContext () const; + + marketContext_optional& + marketContext (); + + void + marketContext (const marketContext_type& x); + + void + marketContext (const marketContext_optional& x); + + void + marketContext (::std::auto_ptr< marketContext_type > p); + + // oadrSamplingRate + // + typedef ::oadr2b::oadr::oadrSamplingRateType oadrSamplingRate_type; + typedef ::xsd::cxx::tree::optional< oadrSamplingRate_type > oadrSamplingRate_optional; + typedef ::xsd::cxx::tree::traits< oadrSamplingRate_type, char > oadrSamplingRate_traits; + + const oadrSamplingRate_optional& + oadrSamplingRate () const; + + oadrSamplingRate_optional& + oadrSamplingRate (); + + void + oadrSamplingRate (const oadrSamplingRate_type& x); + + void + oadrSamplingRate (const oadrSamplingRate_optional& x); + + void + oadrSamplingRate (::std::auto_ptr< oadrSamplingRate_type > p); + + // Constructors. + // + oadrReportDescriptionType (const rID_type&, + const reportType_type&, + const readingType_type&); + + oadrReportDescriptionType (::std::auto_ptr< rID_type >, + ::std::auto_ptr< reportType_type >, + ::std::auto_ptr< readingType_type >); + + oadrReportDescriptionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrReportDescriptionType (const oadrReportDescriptionType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrReportDescriptionType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrReportDescriptionType& + operator= (const oadrReportDescriptionType& x); + + virtual + ~oadrReportDescriptionType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< rID_type > rID_; + reportSubject_optional reportSubject_; + reportDataSource_optional reportDataSource_; + ::xsd::cxx::tree::one< reportType_type > reportType_; + itemBase_optional itemBase_; + ::xsd::cxx::tree::one< readingType_type > readingType_; + marketContext_optional marketContext_; + oadrSamplingRate_optional oadrSamplingRate_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrReportDescriptionType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REPORT_DESCRIPTION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrReportPayloadType.cxx b/oadrsd/oadrsd/2b/oadrReportPayloadType.cxx new file mode 100644 index 0000000..8bcefa9 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportPayloadType.cxx @@ -0,0 +1,294 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrReportPayloadType.hxx" + +#include "oadrDataQualityTypeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrReportPayloadType + // + + const oadrReportPayloadType::oadrDataQuality_optional& oadrReportPayloadType:: + oadrDataQuality () const + { + return this->oadrDataQuality_; + } + + oadrReportPayloadType::oadrDataQuality_optional& oadrReportPayloadType:: + oadrDataQuality () + { + return this->oadrDataQuality_; + } + + void oadrReportPayloadType:: + oadrDataQuality (const oadrDataQuality_type& x) + { + this->oadrDataQuality_.set (x); + } + + void oadrReportPayloadType:: + oadrDataQuality (const oadrDataQuality_optional& x) + { + this->oadrDataQuality_ = x; + } + + void oadrReportPayloadType:: + oadrDataQuality (::std::auto_ptr< oadrDataQuality_type > x) + { + this->oadrDataQuality_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrReportPayloadType + // + + oadrReportPayloadType:: + oadrReportPayloadType (const rID_type& rID, + const payloadBase_type& payloadBase) + : ::oadr2b::ei::ReportPayloadType (rID, + payloadBase), + oadrDataQuality_ (this) + { + } + + oadrReportPayloadType:: + oadrReportPayloadType (::std::auto_ptr< rID_type > rID, + ::std::auto_ptr< payloadBase_type > payloadBase) + : ::oadr2b::ei::ReportPayloadType (rID, + payloadBase), + oadrDataQuality_ (this) + { + } + + oadrReportPayloadType:: + oadrReportPayloadType (const oadrReportPayloadType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::ReportPayloadType (x, f, c), + oadrDataQuality_ (x.oadrDataQuality_, f, this) + { + } + + oadrReportPayloadType:: + oadrReportPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::ei::ReportPayloadType (e, f | ::xml_schema::flags::base, c), + oadrDataQuality_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrReportPayloadType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::oadr2b::ei::ReportPayloadType::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrDataQuality + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrDataQuality_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrDataQuality_) + { + ::std::auto_ptr< oadrDataQuality_type > r ( + dynamic_cast< oadrDataQuality_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrDataQuality_.set (r); + continue; + } + } + } + + break; + } + } + + oadrReportPayloadType* oadrReportPayloadType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrReportPayloadType (*this, f, c); + } + + oadrReportPayloadType& oadrReportPayloadType:: + operator= (const oadrReportPayloadType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::ei::ReportPayloadType& > (*this) = x; + this->oadrDataQuality_ = x.oadrDataQuality_; + } + + return *this; + } + + oadrReportPayloadType:: + ~oadrReportPayloadType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrReportPayloadType > + _xsd_oadrReportPayloadType_type_factory_init ( + "oadrReportPayloadType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrReportPayloadType& i) + { + e << static_cast< const ::oadr2b::ei::ReportPayloadType& > (i); + + // oadrDataQuality + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrDataQuality ()) + { + const oadrReportPayloadType::oadrDataQuality_type& x (*i.oadrDataQuality ()); + if (typeid (oadrReportPayloadType::oadrDataQuality_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrReportPayloadType > + _xsd_oadrReportPayloadType_type_serializer_init ( + "oadrReportPayloadType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrReportPayloadType.hxx b/oadrsd/oadrsd/2b/oadrReportPayloadType.hxx new file mode 100644 index 0000000..86df870 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportPayloadType.hxx @@ -0,0 +1,388 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REPORT_PAYLOAD_TYPE_HXX +#define OADR_REPORT_PAYLOAD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrReportPayloadType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ReportPayloadType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class oadrDataQualityTypeType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrReportPayloadType: public ::oadr2b::ei::ReportPayloadType + { + public: + // oadrDataQuality + // + typedef ::oadr2b::oadr::oadrDataQualityTypeType oadrDataQuality_type; + typedef ::xsd::cxx::tree::optional< oadrDataQuality_type > oadrDataQuality_optional; + typedef ::xsd::cxx::tree::traits< oadrDataQuality_type, char > oadrDataQuality_traits; + + const oadrDataQuality_optional& + oadrDataQuality () const; + + oadrDataQuality_optional& + oadrDataQuality (); + + void + oadrDataQuality (const oadrDataQuality_type& x); + + void + oadrDataQuality (const oadrDataQuality_optional& x); + + void + oadrDataQuality (::std::auto_ptr< oadrDataQuality_type > p); + + // Constructors. + // + oadrReportPayloadType (const rID_type&, + const payloadBase_type&); + + oadrReportPayloadType (::std::auto_ptr< rID_type >, + ::std::auto_ptr< payloadBase_type >); + + oadrReportPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrReportPayloadType (const oadrReportPayloadType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrReportPayloadType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrReportPayloadType& + operator= (const oadrReportPayloadType& x); + + virtual + ~oadrReportPayloadType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrDataQuality_optional oadrDataQuality_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrReportPayloadType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REPORT_PAYLOAD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrReportRequestType.cxx b/oadrsd/oadrsd/2b/oadrReportRequestType.cxx new file mode 100644 index 0000000..1cf8221 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportRequestType.cxx @@ -0,0 +1,385 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrReportRequestType.hxx" + +#include "ReportSpecifierType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrReportRequestType + // + + const oadrReportRequestType::reportRequestID_type& oadrReportRequestType:: + reportRequestID () const + { + return this->reportRequestID_.get (); + } + + oadrReportRequestType::reportRequestID_type& oadrReportRequestType:: + reportRequestID () + { + return this->reportRequestID_.get (); + } + + void oadrReportRequestType:: + reportRequestID (const reportRequestID_type& x) + { + this->reportRequestID_.set (x); + } + + void oadrReportRequestType:: + reportRequestID (::std::auto_ptr< reportRequestID_type > x) + { + this->reportRequestID_.set (x); + } + + const oadrReportRequestType::reportSpecifier_type& oadrReportRequestType:: + reportSpecifier () const + { + return this->reportSpecifier_.get (); + } + + oadrReportRequestType::reportSpecifier_type& oadrReportRequestType:: + reportSpecifier () + { + return this->reportSpecifier_.get (); + } + + void oadrReportRequestType:: + reportSpecifier (const reportSpecifier_type& x) + { + this->reportSpecifier_.set (x); + } + + void oadrReportRequestType:: + reportSpecifier (::std::auto_ptr< reportSpecifier_type > x) + { + this->reportSpecifier_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrReportRequestType + // + + oadrReportRequestType:: + oadrReportRequestType (const reportRequestID_type& reportRequestID, + const reportSpecifier_type& reportSpecifier) + : ::xml_schema::type (), + reportRequestID_ (reportRequestID, this), + reportSpecifier_ (reportSpecifier, this) + { + } + + oadrReportRequestType:: + oadrReportRequestType (const reportRequestID_type& reportRequestID, + ::std::auto_ptr< reportSpecifier_type > reportSpecifier) + : ::xml_schema::type (), + reportRequestID_ (reportRequestID, this), + reportSpecifier_ (reportSpecifier, this) + { + } + + oadrReportRequestType:: + oadrReportRequestType (::std::auto_ptr< reportRequestID_type > reportRequestID, + ::std::auto_ptr< reportSpecifier_type > reportSpecifier) + : ::xml_schema::type (), + reportRequestID_ (reportRequestID, this), + reportSpecifier_ (reportSpecifier, this) + { + } + + oadrReportRequestType:: + oadrReportRequestType (const oadrReportRequestType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + reportRequestID_ (x.reportRequestID_, f, this), + reportSpecifier_ (x.reportSpecifier_, f, this) + { + } + + oadrReportRequestType:: + oadrReportRequestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + reportRequestID_ (this), + reportSpecifier_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrReportRequestType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // reportRequestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportRequestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportRequestID_.present ()) + { + ::std::auto_ptr< reportRequestID_type > r ( + dynamic_cast< reportRequestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportRequestID_.set (r); + continue; + } + } + } + + // reportSpecifier + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportSpecifier_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportSpecifier_.present ()) + { + ::std::auto_ptr< reportSpecifier_type > r ( + dynamic_cast< reportSpecifier_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportSpecifier_.set (r); + continue; + } + } + } + + break; + } + + if (!reportRequestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!reportSpecifier_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + oadrReportRequestType* oadrReportRequestType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrReportRequestType (*this, f, c); + } + + oadrReportRequestType& oadrReportRequestType:: + operator= (const oadrReportRequestType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->reportRequestID_ = x.reportRequestID_; + this->reportSpecifier_ = x.reportSpecifier_; + } + + return *this; + } + + oadrReportRequestType:: + ~oadrReportRequestType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrReportRequestType > + _xsd_oadrReportRequestType_type_factory_init ( + "oadrReportRequestType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrReportRequestType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // reportRequestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportRequestType::reportRequestID_type& x (i.reportRequestID ()); + if (typeid (oadrReportRequestType::reportRequestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // reportSpecifier + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportRequestType::reportSpecifier_type& x (i.reportSpecifier ()); + if (typeid (oadrReportRequestType::reportSpecifier_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrReportRequestType > + _xsd_oadrReportRequestType_type_serializer_init ( + "oadrReportRequestType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrReportRequestType.hxx b/oadrsd/oadrsd/2b/oadrReportRequestType.hxx new file mode 100644 index 0000000..af88e18 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportRequestType.hxx @@ -0,0 +1,403 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REPORT_REQUEST_TYPE_HXX +#define OADR_REPORT_REQUEST_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrReportRequestType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class ReportSpecifierType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrReportRequestType: public ::xml_schema::type + { + public: + // reportRequestID + // + typedef ::xml_schema::string reportRequestID_type; + typedef ::xsd::cxx::tree::traits< reportRequestID_type, char > reportRequestID_traits; + + const reportRequestID_type& + reportRequestID () const; + + reportRequestID_type& + reportRequestID (); + + void + reportRequestID (const reportRequestID_type& x); + + void + reportRequestID (::std::auto_ptr< reportRequestID_type > p); + + // reportSpecifier + // + typedef ::oadr2b::ei::ReportSpecifierType reportSpecifier_type; + typedef ::xsd::cxx::tree::traits< reportSpecifier_type, char > reportSpecifier_traits; + + const reportSpecifier_type& + reportSpecifier () const; + + reportSpecifier_type& + reportSpecifier (); + + void + reportSpecifier (const reportSpecifier_type& x); + + void + reportSpecifier (::std::auto_ptr< reportSpecifier_type > p); + + // Constructors. + // + oadrReportRequestType (const reportRequestID_type&, + const reportSpecifier_type&); + + oadrReportRequestType (const reportRequestID_type&, + ::std::auto_ptr< reportSpecifier_type >); + + oadrReportRequestType (::std::auto_ptr< reportRequestID_type >, + ::std::auto_ptr< reportSpecifier_type >); + + oadrReportRequestType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrReportRequestType (const oadrReportRequestType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrReportRequestType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrReportRequestType& + operator= (const oadrReportRequestType& x); + + virtual + ~oadrReportRequestType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< reportRequestID_type > reportRequestID_; + ::xsd::cxx::tree::one< reportSpecifier_type > reportSpecifier_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrReportRequestType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REPORT_REQUEST_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrReportType.cxx b/oadrsd/oadrsd/2b/oadrReportType.cxx new file mode 100644 index 0000000..304a9db --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportType.cxx @@ -0,0 +1,728 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrReportType.hxx" + +#include "oadrReportDescriptionType.hxx" + +#include "reportNameType.hxx" + +#include "DateTimeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrReportType + // + + const oadrReportType::eiReportID_optional& oadrReportType:: + eiReportID () const + { + return this->eiReportID_; + } + + oadrReportType::eiReportID_optional& oadrReportType:: + eiReportID () + { + return this->eiReportID_; + } + + void oadrReportType:: + eiReportID (const eiReportID_type& x) + { + this->eiReportID_.set (x); + } + + void oadrReportType:: + eiReportID (const eiReportID_optional& x) + { + this->eiReportID_ = x; + } + + void oadrReportType:: + eiReportID (::std::auto_ptr< eiReportID_type > x) + { + this->eiReportID_.set (x); + } + + const oadrReportType::oadrReportDescription_sequence& oadrReportType:: + oadrReportDescription () const + { + return this->oadrReportDescription_; + } + + oadrReportType::oadrReportDescription_sequence& oadrReportType:: + oadrReportDescription () + { + return this->oadrReportDescription_; + } + + void oadrReportType:: + oadrReportDescription (const oadrReportDescription_sequence& s) + { + this->oadrReportDescription_ = s; + } + + const oadrReportType::reportRequestID_type& oadrReportType:: + reportRequestID () const + { + return this->reportRequestID_.get (); + } + + oadrReportType::reportRequestID_type& oadrReportType:: + reportRequestID () + { + return this->reportRequestID_.get (); + } + + void oadrReportType:: + reportRequestID (const reportRequestID_type& x) + { + this->reportRequestID_.set (x); + } + + void oadrReportType:: + reportRequestID (::std::auto_ptr< reportRequestID_type > x) + { + this->reportRequestID_.set (x); + } + + const oadrReportType::reportSpecifierID_type& oadrReportType:: + reportSpecifierID () const + { + return this->reportSpecifierID_.get (); + } + + oadrReportType::reportSpecifierID_type& oadrReportType:: + reportSpecifierID () + { + return this->reportSpecifierID_.get (); + } + + void oadrReportType:: + reportSpecifierID (const reportSpecifierID_type& x) + { + this->reportSpecifierID_.set (x); + } + + void oadrReportType:: + reportSpecifierID (::std::auto_ptr< reportSpecifierID_type > x) + { + this->reportSpecifierID_.set (x); + } + + const oadrReportType::reportName_optional& oadrReportType:: + reportName () const + { + return this->reportName_; + } + + oadrReportType::reportName_optional& oadrReportType:: + reportName () + { + return this->reportName_; + } + + void oadrReportType:: + reportName (const reportName_type& x) + { + this->reportName_.set (x); + } + + void oadrReportType:: + reportName (const reportName_optional& x) + { + this->reportName_ = x; + } + + void oadrReportType:: + reportName (::std::auto_ptr< reportName_type > x) + { + this->reportName_.set (x); + } + + const oadrReportType::createdDateTime_type& oadrReportType:: + createdDateTime () const + { + return this->createdDateTime_.get (); + } + + oadrReportType::createdDateTime_type& oadrReportType:: + createdDateTime () + { + return this->createdDateTime_.get (); + } + + void oadrReportType:: + createdDateTime (const createdDateTime_type& x) + { + this->createdDateTime_.set (x); + } + + void oadrReportType:: + createdDateTime (::std::auto_ptr< createdDateTime_type > x) + { + this->createdDateTime_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrReportType + // + + oadrReportType:: + oadrReportType (const reportRequestID_type& reportRequestID, + const reportSpecifierID_type& reportSpecifierID, + const createdDateTime_type& createdDateTime) + : ::stream::StreamBaseType (), + eiReportID_ (this), + oadrReportDescription_ (this), + reportRequestID_ (reportRequestID, this), + reportSpecifierID_ (reportSpecifierID, this), + reportName_ (this), + createdDateTime_ (createdDateTime, this) + { + } + + oadrReportType:: + oadrReportType (::std::auto_ptr< reportRequestID_type > reportRequestID, + ::std::auto_ptr< reportSpecifierID_type > reportSpecifierID, + ::std::auto_ptr< createdDateTime_type > createdDateTime) + : ::stream::StreamBaseType (), + eiReportID_ (this), + oadrReportDescription_ (this), + reportRequestID_ (reportRequestID, this), + reportSpecifierID_ (reportSpecifierID, this), + reportName_ (this), + createdDateTime_ (createdDateTime, this) + { + } + + oadrReportType:: + oadrReportType (const oadrReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamBaseType (x, f, c), + eiReportID_ (x.eiReportID_, f, this), + oadrReportDescription_ (x.oadrReportDescription_, f, this), + reportRequestID_ (x.reportRequestID_, f, this), + reportSpecifierID_ (x.reportSpecifierID_, f, this), + reportName_ (x.reportName_, f, this), + createdDateTime_ (x.createdDateTime_, f, this) + { + } + + oadrReportType:: + oadrReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamBaseType (e, f | ::xml_schema::flags::base, c), + eiReportID_ (this), + oadrReportDescription_ (this), + reportRequestID_ (this), + reportSpecifierID_ (this), + reportName_ (this), + createdDateTime_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + this->::stream::StreamBaseType::parse (p, f); + + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiReportID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiReportID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->eiReportID_) + { + ::std::auto_ptr< eiReportID_type > r ( + dynamic_cast< eiReportID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiReportID_.set (r); + continue; + } + } + } + + // oadrReportDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrReportDescription_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< oadrReportDescription_type > r ( + dynamic_cast< oadrReportDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrReportDescription_.push_back (r); + continue; + } + } + + // reportRequestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportRequestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportRequestID_.present ()) + { + ::std::auto_ptr< reportRequestID_type > r ( + dynamic_cast< reportRequestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportRequestID_.set (r); + continue; + } + } + } + + // reportSpecifierID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportSpecifierID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!reportSpecifierID_.present ()) + { + ::std::auto_ptr< reportSpecifierID_type > r ( + dynamic_cast< reportSpecifierID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportSpecifierID_.set (r); + continue; + } + } + } + + // reportName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< reportName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->reportName_) + { + ::std::auto_ptr< reportName_type > r ( + dynamic_cast< reportName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->reportName_.set (r); + continue; + } + } + } + + // createdDateTime + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< createdDateTime_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!createdDateTime_.present ()) + { + ::std::auto_ptr< createdDateTime_type > r ( + dynamic_cast< createdDateTime_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->createdDateTime_.set (r); + continue; + } + } + } + + break; + } + + if (!reportRequestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!reportSpecifierID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + if (!createdDateTime_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + oadrReportType* oadrReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrReportType (*this, f, c); + } + + oadrReportType& oadrReportType:: + operator= (const oadrReportType& x) + { + if (this != &x) + { + static_cast< ::stream::StreamBaseType& > (*this) = x; + this->eiReportID_ = x.eiReportID_; + this->oadrReportDescription_ = x.oadrReportDescription_; + this->reportRequestID_ = x.reportRequestID_; + this->reportSpecifierID_ = x.reportSpecifierID_; + this->reportName_ = x.reportName_; + this->createdDateTime_ = x.createdDateTime_; + } + + return *this; + } + + oadrReportType:: + ~oadrReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrReportType > + _xsd_oadrReportType_type_factory_init ( + "oadrReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrReportType& i) + { + e << static_cast< const ::stream::StreamBaseType& > (i); + + // eiReportID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.eiReportID ()) + { + const oadrReportType::eiReportID_type& x (*i.eiReportID ()); + if (typeid (oadrReportType::eiReportID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // oadrReportDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrReportType::oadrReportDescription_const_iterator + b (i.oadrReportDescription ().begin ()), n (i.oadrReportDescription ().end ()); + b != n; ++b) + { + if (typeid (oadrReportType::oadrReportDescription_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + else + tsm.serialize ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, *b); + } + } + + // reportRequestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportType::reportRequestID_type& x (i.reportRequestID ()); + if (typeid (oadrReportType::reportRequestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // reportSpecifierID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportType::reportSpecifierID_type& x (i.reportSpecifierID ()); + if (typeid (oadrReportType::reportSpecifierID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // reportName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.reportName ()) + { + const oadrReportType::reportName_type& x (*i.reportName ()); + if (typeid (oadrReportType::reportName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // createdDateTime + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrReportType::createdDateTime_type& x (i.createdDateTime ()); + if (typeid (oadrReportType::createdDateTime_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrReportType > + _xsd_oadrReportType_type_serializer_init ( + "oadrReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrReportType.hxx b/oadrsd/oadrsd/2b/oadrReportType.hxx new file mode 100644 index 0000000..d996ff8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrReportType.hxx @@ -0,0 +1,497 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REPORT_TYPE_HXX +#define OADR_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "StreamBaseType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class oadrReportDescriptionType; + } +} + +namespace oadr2b +{ + namespace ei + { + class reportNameType; + } +} + +namespace icalendar_2_0 +{ + class DateTimeType; +} + +namespace oadr2b +{ + namespace oadr + { + class oadrReportType: public ::stream::StreamBaseType + { + public: + // eiReportID + // + typedef ::xml_schema::string eiReportID_type; + typedef ::xsd::cxx::tree::optional< eiReportID_type > eiReportID_optional; + typedef ::xsd::cxx::tree::traits< eiReportID_type, char > eiReportID_traits; + + const eiReportID_optional& + eiReportID () const; + + eiReportID_optional& + eiReportID (); + + void + eiReportID (const eiReportID_type& x); + + void + eiReportID (const eiReportID_optional& x); + + void + eiReportID (::std::auto_ptr< eiReportID_type > p); + + // oadrReportDescription + // + typedef ::oadr2b::oadr::oadrReportDescriptionType oadrReportDescription_type; + typedef ::xsd::cxx::tree::sequence< oadrReportDescription_type > oadrReportDescription_sequence; + typedef oadrReportDescription_sequence::iterator oadrReportDescription_iterator; + typedef oadrReportDescription_sequence::const_iterator oadrReportDescription_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrReportDescription_type, char > oadrReportDescription_traits; + + const oadrReportDescription_sequence& + oadrReportDescription () const; + + oadrReportDescription_sequence& + oadrReportDescription (); + + void + oadrReportDescription (const oadrReportDescription_sequence& s); + + // reportRequestID + // + typedef ::xml_schema::string reportRequestID_type; + typedef ::xsd::cxx::tree::traits< reportRequestID_type, char > reportRequestID_traits; + + const reportRequestID_type& + reportRequestID () const; + + reportRequestID_type& + reportRequestID (); + + void + reportRequestID (const reportRequestID_type& x); + + void + reportRequestID (::std::auto_ptr< reportRequestID_type > p); + + // reportSpecifierID + // + typedef ::xml_schema::string reportSpecifierID_type; + typedef ::xsd::cxx::tree::traits< reportSpecifierID_type, char > reportSpecifierID_traits; + + const reportSpecifierID_type& + reportSpecifierID () const; + + reportSpecifierID_type& + reportSpecifierID (); + + void + reportSpecifierID (const reportSpecifierID_type& x); + + void + reportSpecifierID (::std::auto_ptr< reportSpecifierID_type > p); + + // reportName + // + typedef ::oadr2b::ei::reportNameType reportName_type; + typedef ::xsd::cxx::tree::optional< reportName_type > reportName_optional; + typedef ::xsd::cxx::tree::traits< reportName_type, char > reportName_traits; + + const reportName_optional& + reportName () const; + + reportName_optional& + reportName (); + + void + reportName (const reportName_type& x); + + void + reportName (const reportName_optional& x); + + void + reportName (::std::auto_ptr< reportName_type > p); + + // createdDateTime + // + typedef ::icalendar_2_0::DateTimeType createdDateTime_type; + typedef ::xsd::cxx::tree::traits< createdDateTime_type, char > createdDateTime_traits; + + const createdDateTime_type& + createdDateTime () const; + + createdDateTime_type& + createdDateTime (); + + void + createdDateTime (const createdDateTime_type& x); + + void + createdDateTime (::std::auto_ptr< createdDateTime_type > p); + + // Constructors. + // + oadrReportType (const reportRequestID_type&, + const reportSpecifierID_type&, + const createdDateTime_type&); + + oadrReportType (::std::auto_ptr< reportRequestID_type >, + ::std::auto_ptr< reportSpecifierID_type >, + ::std::auto_ptr< createdDateTime_type >); + + oadrReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrReportType (const oadrReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrReportType& + operator= (const oadrReportType& x); + + virtual + ~oadrReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + eiReportID_optional eiReportID_; + oadrReportDescription_sequence oadrReportDescription_; + ::xsd::cxx::tree::one< reportRequestID_type > reportRequestID_; + ::xsd::cxx::tree::one< reportSpecifierID_type > reportSpecifierID_; + reportName_optional reportName_; + ::xsd::cxx::tree::one< createdDateTime_type > createdDateTime_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrRequestEventType.cxx b/oadrsd/oadrsd/2b/oadrRequestEventType.cxx new file mode 100644 index 0000000..4691c09 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRequestEventType.cxx @@ -0,0 +1,323 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrRequestEventType.hxx" + +#include "eiRequestEvent.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrRequestEventType + // + + const oadrRequestEventType::eiRequestEvent_type& oadrRequestEventType:: + eiRequestEvent () const + { + return this->eiRequestEvent_.get (); + } + + oadrRequestEventType::eiRequestEvent_type& oadrRequestEventType:: + eiRequestEvent () + { + return this->eiRequestEvent_.get (); + } + + void oadrRequestEventType:: + eiRequestEvent (const eiRequestEvent_type& x) + { + this->eiRequestEvent_.set (x); + } + + void oadrRequestEventType:: + eiRequestEvent (::std::auto_ptr< eiRequestEvent_type > x) + { + this->eiRequestEvent_.set (x); + } + + const oadrRequestEventType::schemaVersion_optional& oadrRequestEventType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrRequestEventType::schemaVersion_optional& oadrRequestEventType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrRequestEventType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrRequestEventType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrRequestEventType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrRequestEventType + // + + oadrRequestEventType:: + oadrRequestEventType (const eiRequestEvent_type& eiRequestEvent) + : ::xml_schema::type (), + eiRequestEvent_ (eiRequestEvent, this), + schemaVersion_ (this) + { + } + + oadrRequestEventType:: + oadrRequestEventType (::std::auto_ptr< eiRequestEvent_type > eiRequestEvent) + : ::xml_schema::type (), + eiRequestEvent_ (eiRequestEvent, this), + schemaVersion_ (this) + { + } + + oadrRequestEventType:: + oadrRequestEventType (const oadrRequestEventType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiRequestEvent_ (x.eiRequestEvent_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrRequestEventType:: + oadrRequestEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiRequestEvent_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrRequestEventType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiRequestEvent + // + if (n.name () == "eiRequestEvent" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< eiRequestEvent_type > r ( + eiRequestEvent_traits::create (i, f, this)); + + if (!eiRequestEvent_.present ()) + { + this->eiRequestEvent_.set (r); + continue; + } + } + + break; + } + + if (!eiRequestEvent_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrRequestEventType* oadrRequestEventType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrRequestEventType (*this, f, c); + } + + oadrRequestEventType& oadrRequestEventType:: + operator= (const oadrRequestEventType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiRequestEvent_ = x.eiRequestEvent_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrRequestEventType:: + ~oadrRequestEventType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrRequestEventType > + _xsd_oadrRequestEventType_type_factory_init ( + "oadrRequestEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrRequestEventType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiRequestEvent + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << i.eiRequestEvent (); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrRequestEventType > + _xsd_oadrRequestEventType_type_serializer_init ( + "oadrRequestEventType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrRequestEventType.hxx b/oadrsd/oadrsd/2b/oadrRequestEventType.hxx new file mode 100644 index 0000000..ca29f03 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRequestEventType.hxx @@ -0,0 +1,407 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REQUEST_EVENT_TYPE_HXX +#define OADR_REQUEST_EVENT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrRequestEventType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace payloads +{ + class eiRequestEvent; +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRequestEventType: public ::xml_schema::type + { + public: + // eiRequestEvent + // + typedef ::payloads::eiRequestEvent eiRequestEvent_type; + typedef ::xsd::cxx::tree::traits< eiRequestEvent_type, char > eiRequestEvent_traits; + + const eiRequestEvent_type& + eiRequestEvent () const; + + eiRequestEvent_type& + eiRequestEvent (); + + void + eiRequestEvent (const eiRequestEvent_type& x); + + void + eiRequestEvent (::std::auto_ptr< eiRequestEvent_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrRequestEventType (const eiRequestEvent_type&); + + oadrRequestEventType (::std::auto_ptr< eiRequestEvent_type >); + + oadrRequestEventType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrRequestEventType (const oadrRequestEventType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrRequestEventType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrRequestEventType& + operator= (const oadrRequestEventType& x); + + virtual + ~oadrRequestEventType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiRequestEvent_type > eiRequestEvent_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrRequestEventType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REQUEST_EVENT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrRequestReregistrationType.cxx b/oadrsd/oadrsd/2b/oadrRequestReregistrationType.cxx new file mode 100644 index 0000000..86cfa02 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRequestReregistrationType.cxx @@ -0,0 +1,347 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrRequestReregistrationType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrRequestReregistrationType + // + + const oadrRequestReregistrationType::venID_type& oadrRequestReregistrationType:: + venID () const + { + return this->venID_.get (); + } + + oadrRequestReregistrationType::venID_type& oadrRequestReregistrationType:: + venID () + { + return this->venID_.get (); + } + + void oadrRequestReregistrationType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrRequestReregistrationType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrRequestReregistrationType::schemaVersion_optional& oadrRequestReregistrationType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrRequestReregistrationType::schemaVersion_optional& oadrRequestReregistrationType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrRequestReregistrationType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrRequestReregistrationType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrRequestReregistrationType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrRequestReregistrationType + // + + oadrRequestReregistrationType:: + oadrRequestReregistrationType (const venID_type& venID) + : ::xml_schema::type (), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrRequestReregistrationType:: + oadrRequestReregistrationType (::std::auto_ptr< venID_type > venID) + : ::xml_schema::type (), + venID_ (venID, this), + schemaVersion_ (this) + { + } + + oadrRequestReregistrationType:: + oadrRequestReregistrationType (const oadrRequestReregistrationType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrRequestReregistrationType:: + oadrRequestReregistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrRequestReregistrationType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!venID_.present ()) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!venID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrRequestReregistrationType* oadrRequestReregistrationType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrRequestReregistrationType (*this, f, c); + } + + oadrRequestReregistrationType& oadrRequestReregistrationType:: + operator= (const oadrRequestReregistrationType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrRequestReregistrationType:: + ~oadrRequestReregistrationType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrRequestReregistrationType > + _xsd_oadrRequestReregistrationType_type_factory_init ( + "oadrRequestReregistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrRequestReregistrationType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrRequestReregistrationType::venID_type& x (i.venID ()); + if (typeid (oadrRequestReregistrationType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrRequestReregistrationType > + _xsd_oadrRequestReregistrationType_type_serializer_init ( + "oadrRequestReregistrationType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrRequestReregistrationType.hxx b/oadrsd/oadrsd/2b/oadrRequestReregistrationType.hxx new file mode 100644 index 0000000..b19b9ec --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrRequestReregistrationType.hxx @@ -0,0 +1,402 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_REQUEST_REREGISTRATION_TYPE_HXX +#define OADR_REQUEST_REREGISTRATION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrRequestReregistrationType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRequestReregistrationType: public ::xml_schema::type + { + public: + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_type& + venID () const; + + venID_type& + venID (); + + void + venID (const venID_type& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrRequestReregistrationType (const venID_type&); + + oadrRequestReregistrationType (::std::auto_ptr< venID_type >); + + oadrRequestReregistrationType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrRequestReregistrationType (const oadrRequestReregistrationType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrRequestReregistrationType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrRequestReregistrationType& + operator= (const oadrRequestReregistrationType& x); + + virtual + ~oadrRequestReregistrationType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< venID_type > venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrRequestReregistrationType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_REQUEST_REREGISTRATION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrResponseType.cxx b/oadrsd/oadrsd/2b/oadrResponseType.cxx new file mode 100644 index 0000000..32f2853 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrResponseType.cxx @@ -0,0 +1,439 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrResponseType.hxx" + +#include "EiResponseType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrResponseType + // + + const oadrResponseType::eiResponse_type& oadrResponseType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrResponseType::eiResponse_type& oadrResponseType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrResponseType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrResponseType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrResponseType::venID_optional& oadrResponseType:: + venID () const + { + return this->venID_; + } + + oadrResponseType::venID_optional& oadrResponseType:: + venID () + { + return this->venID_; + } + + void oadrResponseType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrResponseType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrResponseType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrResponseType::schemaVersion_optional& oadrResponseType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrResponseType::schemaVersion_optional& oadrResponseType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrResponseType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrResponseType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrResponseType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrResponseType + // + + oadrResponseType:: + oadrResponseType (const eiResponse_type& eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrResponseType:: + oadrResponseType (::std::auto_ptr< eiResponse_type > eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrResponseType:: + oadrResponseType (const oadrResponseType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrResponseType:: + oadrResponseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrResponseType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrResponseType* oadrResponseType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrResponseType (*this, f, c); + } + + oadrResponseType& oadrResponseType:: + operator= (const oadrResponseType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrResponseType:: + ~oadrResponseType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrResponseType > + _xsd_oadrResponseType_type_factory_init ( + "oadrResponseType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrResponseType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrResponseType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrResponseType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrResponseType::venID_type& x (*i.venID ()); + if (typeid (oadrResponseType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrResponseType > + _xsd_oadrResponseType_type_serializer_init ( + "oadrResponseType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrResponseType.hxx b/oadrsd/oadrsd/2b/oadrResponseType.hxx new file mode 100644 index 0000000..1c49854 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrResponseType.hxx @@ -0,0 +1,432 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_RESPONSE_TYPE_HXX +#define OADR_RESPONSE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrResponseType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrResponseType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrResponseType (const eiResponse_type&); + + oadrResponseType (::std::auto_ptr< eiResponse_type >); + + oadrResponseType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrResponseType (const oadrResponseType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrResponseType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrResponseType& + operator= (const oadrResponseType& x); + + virtual + ~oadrResponseType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrResponseType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_RESPONSE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrSamplingRateType.cxx b/oadrsd/oadrsd/2b/oadrSamplingRateType.cxx new file mode 100644 index 0000000..8b1d86b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrSamplingRateType.cxx @@ -0,0 +1,431 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrSamplingRateType.hxx" + +#include "DurationValueType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrSamplingRateType + // + + const oadrSamplingRateType::oadrMinPeriod_type& oadrSamplingRateType:: + oadrMinPeriod () const + { + return this->oadrMinPeriod_.get (); + } + + oadrSamplingRateType::oadrMinPeriod_type& oadrSamplingRateType:: + oadrMinPeriod () + { + return this->oadrMinPeriod_.get (); + } + + void oadrSamplingRateType:: + oadrMinPeriod (const oadrMinPeriod_type& x) + { + this->oadrMinPeriod_.set (x); + } + + void oadrSamplingRateType:: + oadrMinPeriod (::std::auto_ptr< oadrMinPeriod_type > x) + { + this->oadrMinPeriod_.set (x); + } + + const oadrSamplingRateType::oadrMaxPeriod_type& oadrSamplingRateType:: + oadrMaxPeriod () const + { + return this->oadrMaxPeriod_.get (); + } + + oadrSamplingRateType::oadrMaxPeriod_type& oadrSamplingRateType:: + oadrMaxPeriod () + { + return this->oadrMaxPeriod_.get (); + } + + void oadrSamplingRateType:: + oadrMaxPeriod (const oadrMaxPeriod_type& x) + { + this->oadrMaxPeriod_.set (x); + } + + void oadrSamplingRateType:: + oadrMaxPeriod (::std::auto_ptr< oadrMaxPeriod_type > x) + { + this->oadrMaxPeriod_.set (x); + } + + const oadrSamplingRateType::oadrOnChange_type& oadrSamplingRateType:: + oadrOnChange () const + { + return this->oadrOnChange_.get (); + } + + oadrSamplingRateType::oadrOnChange_type& oadrSamplingRateType:: + oadrOnChange () + { + return this->oadrOnChange_.get (); + } + + void oadrSamplingRateType:: + oadrOnChange (const oadrOnChange_type& x) + { + this->oadrOnChange_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrSamplingRateType + // + + oadrSamplingRateType:: + oadrSamplingRateType (const oadrMinPeriod_type& oadrMinPeriod, + const oadrMaxPeriod_type& oadrMaxPeriod, + const oadrOnChange_type& oadrOnChange) + : ::xml_schema::type (), + oadrMinPeriod_ (oadrMinPeriod, this), + oadrMaxPeriod_ (oadrMaxPeriod, this), + oadrOnChange_ (oadrOnChange, this) + { + } + + oadrSamplingRateType:: + oadrSamplingRateType (::std::auto_ptr< oadrMinPeriod_type > oadrMinPeriod, + ::std::auto_ptr< oadrMaxPeriod_type > oadrMaxPeriod, + const oadrOnChange_type& oadrOnChange) + : ::xml_schema::type (), + oadrMinPeriod_ (oadrMinPeriod, this), + oadrMaxPeriod_ (oadrMaxPeriod, this), + oadrOnChange_ (oadrOnChange, this) + { + } + + oadrSamplingRateType:: + oadrSamplingRateType (const oadrSamplingRateType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrMinPeriod_ (x.oadrMinPeriod_, f, this), + oadrMaxPeriod_ (x.oadrMaxPeriod_, f, this), + oadrOnChange_ (x.oadrOnChange_, f, this) + { + } + + oadrSamplingRateType:: + oadrSamplingRateType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrMinPeriod_ (this), + oadrMaxPeriod_ (this), + oadrOnChange_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrSamplingRateType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrMinPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrMinPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrMinPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrMinPeriod_.present ()) + { + ::std::auto_ptr< oadrMinPeriod_type > r ( + dynamic_cast< oadrMinPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrMinPeriod_.set (r); + continue; + } + } + } + + // oadrMaxPeriod + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrMaxPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrMaxPeriod_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrMaxPeriod_.present ()) + { + ::std::auto_ptr< oadrMaxPeriod_type > r ( + dynamic_cast< oadrMaxPeriod_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrMaxPeriod_.set (r); + continue; + } + } + } + + // oadrOnChange + // + if (n.name () == "oadrOnChange" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!oadrOnChange_.present ()) + { + this->oadrOnChange_.set (oadrOnChange_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!oadrMinPeriod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrMinPeriod", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrMaxPeriod_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrMaxPeriod", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!oadrOnChange_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrOnChange", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrSamplingRateType* oadrSamplingRateType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrSamplingRateType (*this, f, c); + } + + oadrSamplingRateType& oadrSamplingRateType:: + operator= (const oadrSamplingRateType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrMinPeriod_ = x.oadrMinPeriod_; + this->oadrMaxPeriod_ = x.oadrMaxPeriod_; + this->oadrOnChange_ = x.oadrOnChange_; + } + + return *this; + } + + oadrSamplingRateType:: + ~oadrSamplingRateType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrSamplingRateType > + _xsd_oadrSamplingRateType_type_factory_init ( + "oadrSamplingRateType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrSamplingRateType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrMinPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrSamplingRateType::oadrMinPeriod_type& x (i.oadrMinPeriod ()); + if (typeid (oadrSamplingRateType::oadrMinPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrMinPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrMinPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // oadrMaxPeriod + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrSamplingRateType::oadrMaxPeriod_type& x (i.oadrMaxPeriod ()); + if (typeid (oadrSamplingRateType::oadrMaxPeriod_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrMaxPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrMaxPeriod", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // oadrOnChange + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrOnChange", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.oadrOnChange (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrSamplingRateType > + _xsd_oadrSamplingRateType_type_serializer_init ( + "oadrSamplingRateType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrSamplingRateType.hxx b/oadrsd/oadrsd/2b/oadrSamplingRateType.hxx new file mode 100644 index 0000000..2fbcbd4 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrSamplingRateType.hxx @@ -0,0 +1,414 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SAMPLING_RATE_TYPE_HXX +#define OADR_SAMPLING_RATE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrSamplingRateType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DurationValueType; +} + +namespace oadr2b +{ + namespace oadr + { + class oadrSamplingRateType: public ::xml_schema::type + { + public: + // oadrMinPeriod + // + typedef ::icalendar_2_0::DurationValueType oadrMinPeriod_type; + typedef ::xsd::cxx::tree::traits< oadrMinPeriod_type, char > oadrMinPeriod_traits; + + const oadrMinPeriod_type& + oadrMinPeriod () const; + + oadrMinPeriod_type& + oadrMinPeriod (); + + void + oadrMinPeriod (const oadrMinPeriod_type& x); + + void + oadrMinPeriod (::std::auto_ptr< oadrMinPeriod_type > p); + + // oadrMaxPeriod + // + typedef ::icalendar_2_0::DurationValueType oadrMaxPeriod_type; + typedef ::xsd::cxx::tree::traits< oadrMaxPeriod_type, char > oadrMaxPeriod_traits; + + const oadrMaxPeriod_type& + oadrMaxPeriod () const; + + oadrMaxPeriod_type& + oadrMaxPeriod (); + + void + oadrMaxPeriod (const oadrMaxPeriod_type& x); + + void + oadrMaxPeriod (::std::auto_ptr< oadrMaxPeriod_type > p); + + // oadrOnChange + // + typedef ::xml_schema::boolean oadrOnChange_type; + typedef ::xsd::cxx::tree::traits< oadrOnChange_type, char > oadrOnChange_traits; + + const oadrOnChange_type& + oadrOnChange () const; + + oadrOnChange_type& + oadrOnChange (); + + void + oadrOnChange (const oadrOnChange_type& x); + + // Constructors. + // + oadrSamplingRateType (const oadrMinPeriod_type&, + const oadrMaxPeriod_type&, + const oadrOnChange_type&); + + oadrSamplingRateType (::std::auto_ptr< oadrMinPeriod_type >, + ::std::auto_ptr< oadrMaxPeriod_type >, + const oadrOnChange_type&); + + oadrSamplingRateType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrSamplingRateType (const oadrSamplingRateType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrSamplingRateType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrSamplingRateType& + operator= (const oadrSamplingRateType& x); + + virtual + ~oadrSamplingRateType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrMinPeriod_type > oadrMinPeriod_; + ::xsd::cxx::tree::one< oadrMaxPeriod_type > oadrMaxPeriod_; + ::xsd::cxx::tree::one< oadrOnChange_type > oadrOnChange_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrSamplingRateType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SAMPLING_RATE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrService.cxx b/oadrsd/oadrsd/2b/oadrService.cxx new file mode 100644 index 0000000..33c6bc2 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrService.cxx @@ -0,0 +1,325 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrService.hxx" + +#include "oadrServiceNameType.hxx" + +#include "oadrInfo.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrService + // + + const oadrService::oadrServiceName_type& oadrService:: + oadrServiceName () const + { + return this->oadrServiceName_.get (); + } + + oadrService::oadrServiceName_type& oadrService:: + oadrServiceName () + { + return this->oadrServiceName_.get (); + } + + void oadrService:: + oadrServiceName (const oadrServiceName_type& x) + { + this->oadrServiceName_.set (x); + } + + void oadrService:: + oadrServiceName (::std::auto_ptr< oadrServiceName_type > x) + { + this->oadrServiceName_.set (x); + } + + const oadrService::oadrInfo_sequence& oadrService:: + oadrInfo () const + { + return this->oadrInfo_; + } + + oadrService::oadrInfo_sequence& oadrService:: + oadrInfo () + { + return this->oadrInfo_; + } + + void oadrService:: + oadrInfo (const oadrInfo_sequence& s) + { + this->oadrInfo_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrService + // + + oadrService:: + oadrService (const oadrServiceName_type& oadrServiceName) + : ::xml_schema::type (), + oadrServiceName_ (oadrServiceName, this), + oadrInfo_ (this) + { + } + + oadrService:: + oadrService (::std::auto_ptr< oadrServiceName_type > oadrServiceName) + : ::xml_schema::type (), + oadrServiceName_ (oadrServiceName, this), + oadrInfo_ (this) + { + } + + oadrService:: + oadrService (const oadrService& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrServiceName_ (x.oadrServiceName_, f, this), + oadrInfo_ (x.oadrInfo_, f, this) + { + } + + oadrService:: + oadrService (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrServiceName_ (this), + oadrInfo_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrService:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrServiceName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrServiceName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrServiceName_.present ()) + { + ::std::auto_ptr< oadrServiceName_type > r ( + dynamic_cast< oadrServiceName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrServiceName_.set (r); + continue; + } + } + } + + // oadrInfo + // + if (n.name () == "oadrInfo" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrInfo_type > r ( + oadrInfo_traits::create (i, f, this)); + + this->oadrInfo_.push_back (r); + continue; + } + + break; + } + + if (!oadrServiceName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrService* oadrService:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrService (*this, f, c); + } + + oadrService& oadrService:: + operator= (const oadrService& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrServiceName_ = x.oadrServiceName_; + this->oadrInfo_ = x.oadrInfo_; + } + + return *this; + } + + oadrService:: + ~oadrService () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrService& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrServiceName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrService::oadrServiceName_type& x (i.oadrServiceName ()); + if (typeid (oadrService::oadrServiceName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + + // oadrInfo + // + for (oadrService::oadrInfo_const_iterator + b (i.oadrInfo ().begin ()), n (i.oadrInfo ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrService.hxx b/oadrsd/oadrsd/2b/oadrService.hxx new file mode 100644 index 0000000..cae97e3 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrService.hxx @@ -0,0 +1,406 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SERVICE_HXX +#define OADR_SERVICE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrService; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrServiceNameType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrInfo; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrService: public ::xml_schema::type + { + public: + // oadrServiceName + // + typedef ::oadr2b::oadr::oadrServiceNameType oadrServiceName_type; + typedef ::xsd::cxx::tree::traits< oadrServiceName_type, char > oadrServiceName_traits; + + const oadrServiceName_type& + oadrServiceName () const; + + oadrServiceName_type& + oadrServiceName (); + + void + oadrServiceName (const oadrServiceName_type& x); + + void + oadrServiceName (::std::auto_ptr< oadrServiceName_type > p); + + // oadrInfo + // + typedef ::oadr2b::oadr::oadrInfo oadrInfo_type; + typedef ::xsd::cxx::tree::sequence< oadrInfo_type > oadrInfo_sequence; + typedef oadrInfo_sequence::iterator oadrInfo_iterator; + typedef oadrInfo_sequence::const_iterator oadrInfo_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrInfo_type, char > oadrInfo_traits; + + const oadrInfo_sequence& + oadrInfo () const; + + oadrInfo_sequence& + oadrInfo (); + + void + oadrInfo (const oadrInfo_sequence& s); + + // Constructors. + // + oadrService (const oadrServiceName_type&); + + oadrService (::std::auto_ptr< oadrServiceName_type >); + + oadrService (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrService (const oadrService& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrService* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrService& + operator= (const oadrService& x); + + virtual + ~oadrService (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrServiceName_type > oadrServiceName_; + oadrInfo_sequence oadrInfo_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrService&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SERVICE_HXX diff --git a/oadrsd/oadrsd/2b/oadrServiceNameType.cxx b/oadrsd/oadrsd/2b/oadrServiceNameType.cxx new file mode 100644 index 0000000..19c4b4d --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrServiceNameType.cxx @@ -0,0 +1,253 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrServiceNameType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrServiceNameType + // + + oadrServiceNameType:: + oadrServiceNameType (value v) + : ::xml_schema::token (_xsd_oadrServiceNameType_literals_[v]) + { + } + + oadrServiceNameType:: + oadrServiceNameType (const char* v) + : ::xml_schema::token (v) + { + } + + oadrServiceNameType:: + oadrServiceNameType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + oadrServiceNameType:: + oadrServiceNameType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + oadrServiceNameType:: + oadrServiceNameType (const oadrServiceNameType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + oadrServiceNameType& oadrServiceNameType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_oadrServiceNameType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrServiceNameType + // + + oadrServiceNameType:: + oadrServiceNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_oadrServiceNameType_convert (); + } + + oadrServiceNameType:: + oadrServiceNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_oadrServiceNameType_convert (); + } + + oadrServiceNameType:: + oadrServiceNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_oadrServiceNameType_convert (); + } + + oadrServiceNameType* oadrServiceNameType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrServiceNameType (*this, f, c); + } + + oadrServiceNameType::value oadrServiceNameType:: + _xsd_oadrServiceNameType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_oadrServiceNameType_literals_); + const value* i (::std::lower_bound ( + _xsd_oadrServiceNameType_indexes_, + _xsd_oadrServiceNameType_indexes_ + 5, + *this, + c)); + + if (i == _xsd_oadrServiceNameType_indexes_ + 5 || _xsd_oadrServiceNameType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const oadrServiceNameType:: + _xsd_oadrServiceNameType_literals_[5] = + { + "EiEvent", + "EiOpt", + "EiReport", + "EiRegisterParty", + "OadrPoll" + }; + + const oadrServiceNameType::value oadrServiceNameType:: + _xsd_oadrServiceNameType_indexes_[5] = + { + ::oadr2b::oadr::oadrServiceNameType::EiEvent, + ::oadr2b::oadr::oadrServiceNameType::EiOpt, + ::oadr2b::oadr::oadrServiceNameType::EiRegisterParty, + ::oadr2b::oadr::oadrServiceNameType::EiReport, + ::oadr2b::oadr::oadrServiceNameType::OadrPoll + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrServiceNameType > + _xsd_oadrServiceNameType_type_factory_init ( + "oadrServiceNameType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrServiceNameType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const oadrServiceNameType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const oadrServiceNameType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrServiceNameType > + _xsd_oadrServiceNameType_type_serializer_init ( + "oadrServiceNameType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrServiceNameType.hxx b/oadrsd/oadrsd/2b/oadrServiceNameType.hxx new file mode 100644 index 0000000..7a3fb17 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrServiceNameType.hxx @@ -0,0 +1,383 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SERVICE_NAME_TYPE_HXX +#define OADR_SERVICE_NAME_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrServiceNameType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrServiceNameType: public ::xml_schema::token + { + public: + enum value + { + EiEvent, + EiOpt, + EiReport, + EiRegisterParty, + OadrPoll + }; + + oadrServiceNameType (value v); + + oadrServiceNameType (const char* v); + + oadrServiceNameType (const ::std::string& v); + + oadrServiceNameType (const ::xml_schema::token& v); + + oadrServiceNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrServiceNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrServiceNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrServiceNameType (const oadrServiceNameType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrServiceNameType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrServiceNameType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_oadrServiceNameType_convert (); + } + + protected: + value + _xsd_oadrServiceNameType_convert () const; + + public: + static const char* const _xsd_oadrServiceNameType_literals_[5]; + static const value _xsd_oadrServiceNameType_indexes_[5]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrServiceNameType&); + + void + operator<< (::xercesc::DOMAttr&, const oadrServiceNameType&); + + void + operator<< (::xml_schema::list_stream&, + const oadrServiceNameType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SERVICE_NAME_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.cxx b/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.cxx new file mode 100644 index 0000000..5352e8e --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.cxx @@ -0,0 +1,228 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrServiceSpecificInfo.hxx" + +#include "oadrService.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrServiceSpecificInfo + // + + const oadrServiceSpecificInfo::oadrService_sequence& oadrServiceSpecificInfo:: + oadrService () const + { + return this->oadrService_; + } + + oadrServiceSpecificInfo::oadrService_sequence& oadrServiceSpecificInfo:: + oadrService () + { + return this->oadrService_; + } + + void oadrServiceSpecificInfo:: + oadrService (const oadrService_sequence& s) + { + this->oadrService_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrServiceSpecificInfo + // + + oadrServiceSpecificInfo:: + oadrServiceSpecificInfo () + : ::xml_schema::type (), + oadrService_ (this) + { + } + + oadrServiceSpecificInfo:: + oadrServiceSpecificInfo (const oadrServiceSpecificInfo& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrService_ (x.oadrService_, f, this) + { + } + + oadrServiceSpecificInfo:: + oadrServiceSpecificInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrService_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrServiceSpecificInfo:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrService + // + if (n.name () == "oadrService" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrService_type > r ( + oadrService_traits::create (i, f, this)); + + this->oadrService_.push_back (r); + continue; + } + + break; + } + } + + oadrServiceSpecificInfo* oadrServiceSpecificInfo:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrServiceSpecificInfo (*this, f, c); + } + + oadrServiceSpecificInfo& oadrServiceSpecificInfo:: + operator= (const oadrServiceSpecificInfo& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrService_ = x.oadrService_; + } + + return *this; + } + + oadrServiceSpecificInfo:: + ~oadrServiceSpecificInfo () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrServiceSpecificInfo& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrService + // + for (oadrServiceSpecificInfo::oadrService_const_iterator + b (i.oadrService ().begin ()), n (i.oadrService ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrService", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.hxx b/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.hxx new file mode 100644 index 0000000..b43386f --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrServiceSpecificInfo.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SERVICE_SPECIFIC_INFO_HXX +#define OADR_SERVICE_SPECIFIC_INFO_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrServiceSpecificInfo; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrService; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrServiceSpecificInfo: public ::xml_schema::type + { + public: + // oadrService + // + typedef ::oadr2b::oadr::oadrService oadrService_type; + typedef ::xsd::cxx::tree::sequence< oadrService_type > oadrService_sequence; + typedef oadrService_sequence::iterator oadrService_iterator; + typedef oadrService_sequence::const_iterator oadrService_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrService_type, char > oadrService_traits; + + const oadrService_sequence& + oadrService () const; + + oadrService_sequence& + oadrService (); + + void + oadrService (const oadrService_sequence& s); + + // Constructors. + // + oadrServiceSpecificInfo (); + + oadrServiceSpecificInfo (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrServiceSpecificInfo (const oadrServiceSpecificInfo& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrServiceSpecificInfo* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrServiceSpecificInfo& + operator= (const oadrServiceSpecificInfo& x); + + virtual + ~oadrServiceSpecificInfo (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrService_sequence oadrService_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrServiceSpecificInfo&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SERVICE_SPECIFIC_INFO_HXX diff --git a/oadrsd/oadrsd/2b/oadrSignedObject.cxx b/oadrsd/oadrsd/2b/oadrSignedObject.cxx new file mode 100644 index 0000000..4b4e40c --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrSignedObject.cxx @@ -0,0 +1,2331 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrSignedObject.hxx" + +#include "oadrDistributeEventType.hxx" + +#include "oadrCreatedEventType.hxx" + +#include "oadrRequestEventType.hxx" + +#include "oadrResponseType.hxx" + +#include "oadrCancelOptType.hxx" + +#include "oadrCanceledOptType.hxx" + +#include "oadrCreateOptType.hxx" + +#include "oadrCreatedOptType.hxx" + +#include "oadrCancelReportType.hxx" + +#include "oadrCanceledReportType.hxx" + +#include "oadrCreateReportType.hxx" + +#include "oadrCreatedReportType.hxx" + +#include "oadrRegisterReportType.hxx" + +#include "oadrRegisteredReportType.hxx" + +#include "oadrUpdateReportType.hxx" + +#include "oadrUpdatedReportType.hxx" + +#include "oadrCancelPartyRegistrationType.hxx" + +#include "oadrCanceledPartyRegistrationType.hxx" + +#include "oadrCreatePartyRegistrationType.hxx" + +#include "oadrCreatedPartyRegistrationType.hxx" + +#include "oadrRequestReregistrationType.hxx" + +#include "oadrQueryRegistrationType.hxx" + +#include "oadrPollType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrSignedObject + // + + const oadrSignedObject::oadrDistributeEvent_optional& oadrSignedObject:: + oadrDistributeEvent () const + { + return this->oadrDistributeEvent_; + } + + oadrSignedObject::oadrDistributeEvent_optional& oadrSignedObject:: + oadrDistributeEvent () + { + return this->oadrDistributeEvent_; + } + + void oadrSignedObject:: + oadrDistributeEvent (const oadrDistributeEvent_type& x) + { + this->oadrDistributeEvent_.set (x); + } + + void oadrSignedObject:: + oadrDistributeEvent (const oadrDistributeEvent_optional& x) + { + this->oadrDistributeEvent_ = x; + } + + void oadrSignedObject:: + oadrDistributeEvent (::std::auto_ptr< oadrDistributeEvent_type > x) + { + this->oadrDistributeEvent_.set (x); + } + + const oadrSignedObject::oadrCreatedEvent_optional& oadrSignedObject:: + oadrCreatedEvent () const + { + return this->oadrCreatedEvent_; + } + + oadrSignedObject::oadrCreatedEvent_optional& oadrSignedObject:: + oadrCreatedEvent () + { + return this->oadrCreatedEvent_; + } + + void oadrSignedObject:: + oadrCreatedEvent (const oadrCreatedEvent_type& x) + { + this->oadrCreatedEvent_.set (x); + } + + void oadrSignedObject:: + oadrCreatedEvent (const oadrCreatedEvent_optional& x) + { + this->oadrCreatedEvent_ = x; + } + + void oadrSignedObject:: + oadrCreatedEvent (::std::auto_ptr< oadrCreatedEvent_type > x) + { + this->oadrCreatedEvent_.set (x); + } + + const oadrSignedObject::oadrRequestEvent_optional& oadrSignedObject:: + oadrRequestEvent () const + { + return this->oadrRequestEvent_; + } + + oadrSignedObject::oadrRequestEvent_optional& oadrSignedObject:: + oadrRequestEvent () + { + return this->oadrRequestEvent_; + } + + void oadrSignedObject:: + oadrRequestEvent (const oadrRequestEvent_type& x) + { + this->oadrRequestEvent_.set (x); + } + + void oadrSignedObject:: + oadrRequestEvent (const oadrRequestEvent_optional& x) + { + this->oadrRequestEvent_ = x; + } + + void oadrSignedObject:: + oadrRequestEvent (::std::auto_ptr< oadrRequestEvent_type > x) + { + this->oadrRequestEvent_.set (x); + } + + const oadrSignedObject::oadrResponse_optional& oadrSignedObject:: + oadrResponse () const + { + return this->oadrResponse_; + } + + oadrSignedObject::oadrResponse_optional& oadrSignedObject:: + oadrResponse () + { + return this->oadrResponse_; + } + + void oadrSignedObject:: + oadrResponse (const oadrResponse_type& x) + { + this->oadrResponse_.set (x); + } + + void oadrSignedObject:: + oadrResponse (const oadrResponse_optional& x) + { + this->oadrResponse_ = x; + } + + void oadrSignedObject:: + oadrResponse (::std::auto_ptr< oadrResponse_type > x) + { + this->oadrResponse_.set (x); + } + + const oadrSignedObject::oadrCancelOpt_optional& oadrSignedObject:: + oadrCancelOpt () const + { + return this->oadrCancelOpt_; + } + + oadrSignedObject::oadrCancelOpt_optional& oadrSignedObject:: + oadrCancelOpt () + { + return this->oadrCancelOpt_; + } + + void oadrSignedObject:: + oadrCancelOpt (const oadrCancelOpt_type& x) + { + this->oadrCancelOpt_.set (x); + } + + void oadrSignedObject:: + oadrCancelOpt (const oadrCancelOpt_optional& x) + { + this->oadrCancelOpt_ = x; + } + + void oadrSignedObject:: + oadrCancelOpt (::std::auto_ptr< oadrCancelOpt_type > x) + { + this->oadrCancelOpt_.set (x); + } + + const oadrSignedObject::oadrCanceledOpt_optional& oadrSignedObject:: + oadrCanceledOpt () const + { + return this->oadrCanceledOpt_; + } + + oadrSignedObject::oadrCanceledOpt_optional& oadrSignedObject:: + oadrCanceledOpt () + { + return this->oadrCanceledOpt_; + } + + void oadrSignedObject:: + oadrCanceledOpt (const oadrCanceledOpt_type& x) + { + this->oadrCanceledOpt_.set (x); + } + + void oadrSignedObject:: + oadrCanceledOpt (const oadrCanceledOpt_optional& x) + { + this->oadrCanceledOpt_ = x; + } + + void oadrSignedObject:: + oadrCanceledOpt (::std::auto_ptr< oadrCanceledOpt_type > x) + { + this->oadrCanceledOpt_.set (x); + } + + const oadrSignedObject::oadrCreateOpt_optional& oadrSignedObject:: + oadrCreateOpt () const + { + return this->oadrCreateOpt_; + } + + oadrSignedObject::oadrCreateOpt_optional& oadrSignedObject:: + oadrCreateOpt () + { + return this->oadrCreateOpt_; + } + + void oadrSignedObject:: + oadrCreateOpt (const oadrCreateOpt_type& x) + { + this->oadrCreateOpt_.set (x); + } + + void oadrSignedObject:: + oadrCreateOpt (const oadrCreateOpt_optional& x) + { + this->oadrCreateOpt_ = x; + } + + void oadrSignedObject:: + oadrCreateOpt (::std::auto_ptr< oadrCreateOpt_type > x) + { + this->oadrCreateOpt_.set (x); + } + + const oadrSignedObject::oadrCreatedOpt_optional& oadrSignedObject:: + oadrCreatedOpt () const + { + return this->oadrCreatedOpt_; + } + + oadrSignedObject::oadrCreatedOpt_optional& oadrSignedObject:: + oadrCreatedOpt () + { + return this->oadrCreatedOpt_; + } + + void oadrSignedObject:: + oadrCreatedOpt (const oadrCreatedOpt_type& x) + { + this->oadrCreatedOpt_.set (x); + } + + void oadrSignedObject:: + oadrCreatedOpt (const oadrCreatedOpt_optional& x) + { + this->oadrCreatedOpt_ = x; + } + + void oadrSignedObject:: + oadrCreatedOpt (::std::auto_ptr< oadrCreatedOpt_type > x) + { + this->oadrCreatedOpt_.set (x); + } + + const oadrSignedObject::oadrCancelReport_optional& oadrSignedObject:: + oadrCancelReport () const + { + return this->oadrCancelReport_; + } + + oadrSignedObject::oadrCancelReport_optional& oadrSignedObject:: + oadrCancelReport () + { + return this->oadrCancelReport_; + } + + void oadrSignedObject:: + oadrCancelReport (const oadrCancelReport_type& x) + { + this->oadrCancelReport_.set (x); + } + + void oadrSignedObject:: + oadrCancelReport (const oadrCancelReport_optional& x) + { + this->oadrCancelReport_ = x; + } + + void oadrSignedObject:: + oadrCancelReport (::std::auto_ptr< oadrCancelReport_type > x) + { + this->oadrCancelReport_.set (x); + } + + const oadrSignedObject::oadrCanceledReport_optional& oadrSignedObject:: + oadrCanceledReport () const + { + return this->oadrCanceledReport_; + } + + oadrSignedObject::oadrCanceledReport_optional& oadrSignedObject:: + oadrCanceledReport () + { + return this->oadrCanceledReport_; + } + + void oadrSignedObject:: + oadrCanceledReport (const oadrCanceledReport_type& x) + { + this->oadrCanceledReport_.set (x); + } + + void oadrSignedObject:: + oadrCanceledReport (const oadrCanceledReport_optional& x) + { + this->oadrCanceledReport_ = x; + } + + void oadrSignedObject:: + oadrCanceledReport (::std::auto_ptr< oadrCanceledReport_type > x) + { + this->oadrCanceledReport_.set (x); + } + + const oadrSignedObject::oadrCreateReport_optional& oadrSignedObject:: + oadrCreateReport () const + { + return this->oadrCreateReport_; + } + + oadrSignedObject::oadrCreateReport_optional& oadrSignedObject:: + oadrCreateReport () + { + return this->oadrCreateReport_; + } + + void oadrSignedObject:: + oadrCreateReport (const oadrCreateReport_type& x) + { + this->oadrCreateReport_.set (x); + } + + void oadrSignedObject:: + oadrCreateReport (const oadrCreateReport_optional& x) + { + this->oadrCreateReport_ = x; + } + + void oadrSignedObject:: + oadrCreateReport (::std::auto_ptr< oadrCreateReport_type > x) + { + this->oadrCreateReport_.set (x); + } + + const oadrSignedObject::oadrCreatedReport_optional& oadrSignedObject:: + oadrCreatedReport () const + { + return this->oadrCreatedReport_; + } + + oadrSignedObject::oadrCreatedReport_optional& oadrSignedObject:: + oadrCreatedReport () + { + return this->oadrCreatedReport_; + } + + void oadrSignedObject:: + oadrCreatedReport (const oadrCreatedReport_type& x) + { + this->oadrCreatedReport_.set (x); + } + + void oadrSignedObject:: + oadrCreatedReport (const oadrCreatedReport_optional& x) + { + this->oadrCreatedReport_ = x; + } + + void oadrSignedObject:: + oadrCreatedReport (::std::auto_ptr< oadrCreatedReport_type > x) + { + this->oadrCreatedReport_.set (x); + } + + const oadrSignedObject::oadrRegisterReport_optional& oadrSignedObject:: + oadrRegisterReport () const + { + return this->oadrRegisterReport_; + } + + oadrSignedObject::oadrRegisterReport_optional& oadrSignedObject:: + oadrRegisterReport () + { + return this->oadrRegisterReport_; + } + + void oadrSignedObject:: + oadrRegisterReport (const oadrRegisterReport_type& x) + { + this->oadrRegisterReport_.set (x); + } + + void oadrSignedObject:: + oadrRegisterReport (const oadrRegisterReport_optional& x) + { + this->oadrRegisterReport_ = x; + } + + void oadrSignedObject:: + oadrRegisterReport (::std::auto_ptr< oadrRegisterReport_type > x) + { + this->oadrRegisterReport_.set (x); + } + + const oadrSignedObject::oadrRegisteredReport_optional& oadrSignedObject:: + oadrRegisteredReport () const + { + return this->oadrRegisteredReport_; + } + + oadrSignedObject::oadrRegisteredReport_optional& oadrSignedObject:: + oadrRegisteredReport () + { + return this->oadrRegisteredReport_; + } + + void oadrSignedObject:: + oadrRegisteredReport (const oadrRegisteredReport_type& x) + { + this->oadrRegisteredReport_.set (x); + } + + void oadrSignedObject:: + oadrRegisteredReport (const oadrRegisteredReport_optional& x) + { + this->oadrRegisteredReport_ = x; + } + + void oadrSignedObject:: + oadrRegisteredReport (::std::auto_ptr< oadrRegisteredReport_type > x) + { + this->oadrRegisteredReport_.set (x); + } + + const oadrSignedObject::oadrUpdateReport_optional& oadrSignedObject:: + oadrUpdateReport () const + { + return this->oadrUpdateReport_; + } + + oadrSignedObject::oadrUpdateReport_optional& oadrSignedObject:: + oadrUpdateReport () + { + return this->oadrUpdateReport_; + } + + void oadrSignedObject:: + oadrUpdateReport (const oadrUpdateReport_type& x) + { + this->oadrUpdateReport_.set (x); + } + + void oadrSignedObject:: + oadrUpdateReport (const oadrUpdateReport_optional& x) + { + this->oadrUpdateReport_ = x; + } + + void oadrSignedObject:: + oadrUpdateReport (::std::auto_ptr< oadrUpdateReport_type > x) + { + this->oadrUpdateReport_.set (x); + } + + const oadrSignedObject::oadrUpdatedReport_optional& oadrSignedObject:: + oadrUpdatedReport () const + { + return this->oadrUpdatedReport_; + } + + oadrSignedObject::oadrUpdatedReport_optional& oadrSignedObject:: + oadrUpdatedReport () + { + return this->oadrUpdatedReport_; + } + + void oadrSignedObject:: + oadrUpdatedReport (const oadrUpdatedReport_type& x) + { + this->oadrUpdatedReport_.set (x); + } + + void oadrSignedObject:: + oadrUpdatedReport (const oadrUpdatedReport_optional& x) + { + this->oadrUpdatedReport_ = x; + } + + void oadrSignedObject:: + oadrUpdatedReport (::std::auto_ptr< oadrUpdatedReport_type > x) + { + this->oadrUpdatedReport_.set (x); + } + + const oadrSignedObject::oadrCancelPartyRegistration_optional& oadrSignedObject:: + oadrCancelPartyRegistration () const + { + return this->oadrCancelPartyRegistration_; + } + + oadrSignedObject::oadrCancelPartyRegistration_optional& oadrSignedObject:: + oadrCancelPartyRegistration () + { + return this->oadrCancelPartyRegistration_; + } + + void oadrSignedObject:: + oadrCancelPartyRegistration (const oadrCancelPartyRegistration_type& x) + { + this->oadrCancelPartyRegistration_.set (x); + } + + void oadrSignedObject:: + oadrCancelPartyRegistration (const oadrCancelPartyRegistration_optional& x) + { + this->oadrCancelPartyRegistration_ = x; + } + + void oadrSignedObject:: + oadrCancelPartyRegistration (::std::auto_ptr< oadrCancelPartyRegistration_type > x) + { + this->oadrCancelPartyRegistration_.set (x); + } + + const oadrSignedObject::oadrCanceledPartyRegistration_optional& oadrSignedObject:: + oadrCanceledPartyRegistration () const + { + return this->oadrCanceledPartyRegistration_; + } + + oadrSignedObject::oadrCanceledPartyRegistration_optional& oadrSignedObject:: + oadrCanceledPartyRegistration () + { + return this->oadrCanceledPartyRegistration_; + } + + void oadrSignedObject:: + oadrCanceledPartyRegistration (const oadrCanceledPartyRegistration_type& x) + { + this->oadrCanceledPartyRegistration_.set (x); + } + + void oadrSignedObject:: + oadrCanceledPartyRegistration (const oadrCanceledPartyRegistration_optional& x) + { + this->oadrCanceledPartyRegistration_ = x; + } + + void oadrSignedObject:: + oadrCanceledPartyRegistration (::std::auto_ptr< oadrCanceledPartyRegistration_type > x) + { + this->oadrCanceledPartyRegistration_.set (x); + } + + const oadrSignedObject::oadrCreatePartyRegistration_optional& oadrSignedObject:: + oadrCreatePartyRegistration () const + { + return this->oadrCreatePartyRegistration_; + } + + oadrSignedObject::oadrCreatePartyRegistration_optional& oadrSignedObject:: + oadrCreatePartyRegistration () + { + return this->oadrCreatePartyRegistration_; + } + + void oadrSignedObject:: + oadrCreatePartyRegistration (const oadrCreatePartyRegistration_type& x) + { + this->oadrCreatePartyRegistration_.set (x); + } + + void oadrSignedObject:: + oadrCreatePartyRegistration (const oadrCreatePartyRegistration_optional& x) + { + this->oadrCreatePartyRegistration_ = x; + } + + void oadrSignedObject:: + oadrCreatePartyRegistration (::std::auto_ptr< oadrCreatePartyRegistration_type > x) + { + this->oadrCreatePartyRegistration_.set (x); + } + + const oadrSignedObject::oadrCreatedPartyRegistration_optional& oadrSignedObject:: + oadrCreatedPartyRegistration () const + { + return this->oadrCreatedPartyRegistration_; + } + + oadrSignedObject::oadrCreatedPartyRegistration_optional& oadrSignedObject:: + oadrCreatedPartyRegistration () + { + return this->oadrCreatedPartyRegistration_; + } + + void oadrSignedObject:: + oadrCreatedPartyRegistration (const oadrCreatedPartyRegistration_type& x) + { + this->oadrCreatedPartyRegistration_.set (x); + } + + void oadrSignedObject:: + oadrCreatedPartyRegistration (const oadrCreatedPartyRegistration_optional& x) + { + this->oadrCreatedPartyRegistration_ = x; + } + + void oadrSignedObject:: + oadrCreatedPartyRegistration (::std::auto_ptr< oadrCreatedPartyRegistration_type > x) + { + this->oadrCreatedPartyRegistration_.set (x); + } + + const oadrSignedObject::oadrRequestReregistration_optional& oadrSignedObject:: + oadrRequestReregistration () const + { + return this->oadrRequestReregistration_; + } + + oadrSignedObject::oadrRequestReregistration_optional& oadrSignedObject:: + oadrRequestReregistration () + { + return this->oadrRequestReregistration_; + } + + void oadrSignedObject:: + oadrRequestReregistration (const oadrRequestReregistration_type& x) + { + this->oadrRequestReregistration_.set (x); + } + + void oadrSignedObject:: + oadrRequestReregistration (const oadrRequestReregistration_optional& x) + { + this->oadrRequestReregistration_ = x; + } + + void oadrSignedObject:: + oadrRequestReregistration (::std::auto_ptr< oadrRequestReregistration_type > x) + { + this->oadrRequestReregistration_.set (x); + } + + const oadrSignedObject::oadrQueryRegistration_optional& oadrSignedObject:: + oadrQueryRegistration () const + { + return this->oadrQueryRegistration_; + } + + oadrSignedObject::oadrQueryRegistration_optional& oadrSignedObject:: + oadrQueryRegistration () + { + return this->oadrQueryRegistration_; + } + + void oadrSignedObject:: + oadrQueryRegistration (const oadrQueryRegistration_type& x) + { + this->oadrQueryRegistration_.set (x); + } + + void oadrSignedObject:: + oadrQueryRegistration (const oadrQueryRegistration_optional& x) + { + this->oadrQueryRegistration_ = x; + } + + void oadrSignedObject:: + oadrQueryRegistration (::std::auto_ptr< oadrQueryRegistration_type > x) + { + this->oadrQueryRegistration_.set (x); + } + + const oadrSignedObject::oadrPoll_optional& oadrSignedObject:: + oadrPoll () const + { + return this->oadrPoll_; + } + + oadrSignedObject::oadrPoll_optional& oadrSignedObject:: + oadrPoll () + { + return this->oadrPoll_; + } + + void oadrSignedObject:: + oadrPoll (const oadrPoll_type& x) + { + this->oadrPoll_.set (x); + } + + void oadrSignedObject:: + oadrPoll (const oadrPoll_optional& x) + { + this->oadrPoll_ = x; + } + + void oadrSignedObject:: + oadrPoll (::std::auto_ptr< oadrPoll_type > x) + { + this->oadrPoll_.set (x); + } + + const oadrSignedObject::Id_optional& oadrSignedObject:: + Id () const + { + return this->Id_; + } + + oadrSignedObject::Id_optional& oadrSignedObject:: + Id () + { + return this->Id_; + } + + void oadrSignedObject:: + Id (const Id_type& x) + { + this->Id_.set (x); + } + + void oadrSignedObject:: + Id (const Id_optional& x) + { + this->Id_ = x; + } + + void oadrSignedObject:: + Id (::std::auto_ptr< Id_type > x) + { + this->Id_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrSignedObject + // + + oadrSignedObject:: + oadrSignedObject () + : ::xml_schema::type (), + oadrDistributeEvent_ (this), + oadrCreatedEvent_ (this), + oadrRequestEvent_ (this), + oadrResponse_ (this), + oadrCancelOpt_ (this), + oadrCanceledOpt_ (this), + oadrCreateOpt_ (this), + oadrCreatedOpt_ (this), + oadrCancelReport_ (this), + oadrCanceledReport_ (this), + oadrCreateReport_ (this), + oadrCreatedReport_ (this), + oadrRegisterReport_ (this), + oadrRegisteredReport_ (this), + oadrUpdateReport_ (this), + oadrUpdatedReport_ (this), + oadrCancelPartyRegistration_ (this), + oadrCanceledPartyRegistration_ (this), + oadrCreatePartyRegistration_ (this), + oadrCreatedPartyRegistration_ (this), + oadrRequestReregistration_ (this), + oadrQueryRegistration_ (this), + oadrPoll_ (this), + Id_ (this) + { + } + + oadrSignedObject:: + oadrSignedObject (const oadrSignedObject& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrDistributeEvent_ (x.oadrDistributeEvent_, f, this), + oadrCreatedEvent_ (x.oadrCreatedEvent_, f, this), + oadrRequestEvent_ (x.oadrRequestEvent_, f, this), + oadrResponse_ (x.oadrResponse_, f, this), + oadrCancelOpt_ (x.oadrCancelOpt_, f, this), + oadrCanceledOpt_ (x.oadrCanceledOpt_, f, this), + oadrCreateOpt_ (x.oadrCreateOpt_, f, this), + oadrCreatedOpt_ (x.oadrCreatedOpt_, f, this), + oadrCancelReport_ (x.oadrCancelReport_, f, this), + oadrCanceledReport_ (x.oadrCanceledReport_, f, this), + oadrCreateReport_ (x.oadrCreateReport_, f, this), + oadrCreatedReport_ (x.oadrCreatedReport_, f, this), + oadrRegisterReport_ (x.oadrRegisterReport_, f, this), + oadrRegisteredReport_ (x.oadrRegisteredReport_, f, this), + oadrUpdateReport_ (x.oadrUpdateReport_, f, this), + oadrUpdatedReport_ (x.oadrUpdatedReport_, f, this), + oadrCancelPartyRegistration_ (x.oadrCancelPartyRegistration_, f, this), + oadrCanceledPartyRegistration_ (x.oadrCanceledPartyRegistration_, f, this), + oadrCreatePartyRegistration_ (x.oadrCreatePartyRegistration_, f, this), + oadrCreatedPartyRegistration_ (x.oadrCreatedPartyRegistration_, f, this), + oadrRequestReregistration_ (x.oadrRequestReregistration_, f, this), + oadrQueryRegistration_ (x.oadrQueryRegistration_, f, this), + oadrPoll_ (x.oadrPoll_, f, this), + Id_ (x.Id_, f, this) + { + } + + oadrSignedObject:: + oadrSignedObject (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrDistributeEvent_ (this), + oadrCreatedEvent_ (this), + oadrRequestEvent_ (this), + oadrResponse_ (this), + oadrCancelOpt_ (this), + oadrCanceledOpt_ (this), + oadrCreateOpt_ (this), + oadrCreatedOpt_ (this), + oadrCancelReport_ (this), + oadrCanceledReport_ (this), + oadrCreateReport_ (this), + oadrCreatedReport_ (this), + oadrRegisterReport_ (this), + oadrRegisteredReport_ (this), + oadrUpdateReport_ (this), + oadrUpdatedReport_ (this), + oadrCancelPartyRegistration_ (this), + oadrCanceledPartyRegistration_ (this), + oadrCreatePartyRegistration_ (this), + oadrCreatedPartyRegistration_ (this), + oadrRequestReregistration_ (this), + oadrQueryRegistration_ (this), + oadrPoll_ (this), + Id_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrSignedObject:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrDistributeEvent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrDistributeEvent_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrDistributeEvent_) + { + ::std::auto_ptr< oadrDistributeEvent_type > r ( + dynamic_cast< oadrDistributeEvent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrDistributeEvent_.set (r); + continue; + } + } + } + + // oadrCreatedEvent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreatedEvent_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreatedEvent_) + { + ::std::auto_ptr< oadrCreatedEvent_type > r ( + dynamic_cast< oadrCreatedEvent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreatedEvent_.set (r); + continue; + } + } + } + + // oadrRequestEvent + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrRequestEvent_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrRequestEvent_) + { + ::std::auto_ptr< oadrRequestEvent_type > r ( + dynamic_cast< oadrRequestEvent_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrRequestEvent_.set (r); + continue; + } + } + } + + // oadrResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrResponse_) + { + ::std::auto_ptr< oadrResponse_type > r ( + dynamic_cast< oadrResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrResponse_.set (r); + continue; + } + } + } + + // oadrCancelOpt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCancelOpt_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCancelOpt_) + { + ::std::auto_ptr< oadrCancelOpt_type > r ( + dynamic_cast< oadrCancelOpt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCancelOpt_.set (r); + continue; + } + } + } + + // oadrCanceledOpt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCanceledOpt_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCanceledOpt_) + { + ::std::auto_ptr< oadrCanceledOpt_type > r ( + dynamic_cast< oadrCanceledOpt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCanceledOpt_.set (r); + continue; + } + } + } + + // oadrCreateOpt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreateOpt_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreateOpt_) + { + ::std::auto_ptr< oadrCreateOpt_type > r ( + dynamic_cast< oadrCreateOpt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreateOpt_.set (r); + continue; + } + } + } + + // oadrCreatedOpt + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreatedOpt_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreatedOpt_) + { + ::std::auto_ptr< oadrCreatedOpt_type > r ( + dynamic_cast< oadrCreatedOpt_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreatedOpt_.set (r); + continue; + } + } + } + + // oadrCancelReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCancelReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCancelReport_) + { + ::std::auto_ptr< oadrCancelReport_type > r ( + dynamic_cast< oadrCancelReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCancelReport_.set (r); + continue; + } + } + } + + // oadrCanceledReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCanceledReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCanceledReport_) + { + ::std::auto_ptr< oadrCanceledReport_type > r ( + dynamic_cast< oadrCanceledReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCanceledReport_.set (r); + continue; + } + } + } + + // oadrCreateReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreateReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreateReport_) + { + ::std::auto_ptr< oadrCreateReport_type > r ( + dynamic_cast< oadrCreateReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreateReport_.set (r); + continue; + } + } + } + + // oadrCreatedReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreatedReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreatedReport_) + { + ::std::auto_ptr< oadrCreatedReport_type > r ( + dynamic_cast< oadrCreatedReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreatedReport_.set (r); + continue; + } + } + } + + // oadrRegisterReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrRegisterReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrRegisterReport_) + { + ::std::auto_ptr< oadrRegisterReport_type > r ( + dynamic_cast< oadrRegisterReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrRegisterReport_.set (r); + continue; + } + } + } + + // oadrRegisteredReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrRegisteredReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrRegisteredReport_) + { + ::std::auto_ptr< oadrRegisteredReport_type > r ( + dynamic_cast< oadrRegisteredReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrRegisteredReport_.set (r); + continue; + } + } + } + + // oadrUpdateReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrUpdateReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrUpdateReport_) + { + ::std::auto_ptr< oadrUpdateReport_type > r ( + dynamic_cast< oadrUpdateReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrUpdateReport_.set (r); + continue; + } + } + } + + // oadrUpdatedReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrUpdatedReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrUpdatedReport_) + { + ::std::auto_ptr< oadrUpdatedReport_type > r ( + dynamic_cast< oadrUpdatedReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrUpdatedReport_.set (r); + continue; + } + } + } + + // oadrCancelPartyRegistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCancelPartyRegistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCancelPartyRegistration_) + { + ::std::auto_ptr< oadrCancelPartyRegistration_type > r ( + dynamic_cast< oadrCancelPartyRegistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCancelPartyRegistration_.set (r); + continue; + } + } + } + + // oadrCanceledPartyRegistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCanceledPartyRegistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCanceledPartyRegistration_) + { + ::std::auto_ptr< oadrCanceledPartyRegistration_type > r ( + dynamic_cast< oadrCanceledPartyRegistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCanceledPartyRegistration_.set (r); + continue; + } + } + } + + // oadrCreatePartyRegistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreatePartyRegistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreatePartyRegistration_) + { + ::std::auto_ptr< oadrCreatePartyRegistration_type > r ( + dynamic_cast< oadrCreatePartyRegistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreatePartyRegistration_.set (r); + continue; + } + } + } + + // oadrCreatedPartyRegistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCreatedPartyRegistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCreatedPartyRegistration_) + { + ::std::auto_ptr< oadrCreatedPartyRegistration_type > r ( + dynamic_cast< oadrCreatedPartyRegistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCreatedPartyRegistration_.set (r); + continue; + } + } + } + + // oadrRequestReregistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrRequestReregistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrRequestReregistration_) + { + ::std::auto_ptr< oadrRequestReregistration_type > r ( + dynamic_cast< oadrRequestReregistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrRequestReregistration_.set (r); + continue; + } + } + } + + // oadrQueryRegistration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrQueryRegistration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrQueryRegistration_) + { + ::std::auto_ptr< oadrQueryRegistration_type > r ( + dynamic_cast< oadrQueryRegistration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrQueryRegistration_.set (r); + continue; + } + } + } + + // oadrPoll + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrPoll_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrPoll_) + { + ::std::auto_ptr< oadrPoll_type > r ( + dynamic_cast< oadrPoll_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrPoll_.set (r); + continue; + } + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "Id" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + this->Id_.set (Id_traits::create (i, f, this)); + continue; + } + } + } + + oadrSignedObject* oadrSignedObject:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrSignedObject (*this, f, c); + } + + oadrSignedObject& oadrSignedObject:: + operator= (const oadrSignedObject& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrDistributeEvent_ = x.oadrDistributeEvent_; + this->oadrCreatedEvent_ = x.oadrCreatedEvent_; + this->oadrRequestEvent_ = x.oadrRequestEvent_; + this->oadrResponse_ = x.oadrResponse_; + this->oadrCancelOpt_ = x.oadrCancelOpt_; + this->oadrCanceledOpt_ = x.oadrCanceledOpt_; + this->oadrCreateOpt_ = x.oadrCreateOpt_; + this->oadrCreatedOpt_ = x.oadrCreatedOpt_; + this->oadrCancelReport_ = x.oadrCancelReport_; + this->oadrCanceledReport_ = x.oadrCanceledReport_; + this->oadrCreateReport_ = x.oadrCreateReport_; + this->oadrCreatedReport_ = x.oadrCreatedReport_; + this->oadrRegisterReport_ = x.oadrRegisterReport_; + this->oadrRegisteredReport_ = x.oadrRegisteredReport_; + this->oadrUpdateReport_ = x.oadrUpdateReport_; + this->oadrUpdatedReport_ = x.oadrUpdatedReport_; + this->oadrCancelPartyRegistration_ = x.oadrCancelPartyRegistration_; + this->oadrCanceledPartyRegistration_ = x.oadrCanceledPartyRegistration_; + this->oadrCreatePartyRegistration_ = x.oadrCreatePartyRegistration_; + this->oadrCreatedPartyRegistration_ = x.oadrCreatedPartyRegistration_; + this->oadrRequestReregistration_ = x.oadrRequestReregistration_; + this->oadrQueryRegistration_ = x.oadrQueryRegistration_; + this->oadrPoll_ = x.oadrPoll_; + this->Id_ = x.Id_; + } + + return *this; + } + + oadrSignedObject:: + ~oadrSignedObject () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrSignedObject& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrDistributeEvent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrDistributeEvent ()) + { + const oadrSignedObject::oadrDistributeEvent_type& x (*i.oadrDistributeEvent ()); + if (typeid (oadrSignedObject::oadrDistributeEvent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreatedEvent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreatedEvent ()) + { + const oadrSignedObject::oadrCreatedEvent_type& x (*i.oadrCreatedEvent ()); + if (typeid (oadrSignedObject::oadrCreatedEvent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrRequestEvent + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrRequestEvent ()) + { + const oadrSignedObject::oadrRequestEvent_type& x (*i.oadrRequestEvent ()); + if (typeid (oadrSignedObject::oadrRequestEvent_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrResponse ()) + { + const oadrSignedObject::oadrResponse_type& x (*i.oadrResponse ()); + if (typeid (oadrSignedObject::oadrResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCancelOpt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCancelOpt ()) + { + const oadrSignedObject::oadrCancelOpt_type& x (*i.oadrCancelOpt ()); + if (typeid (oadrSignedObject::oadrCancelOpt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCanceledOpt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCanceledOpt ()) + { + const oadrSignedObject::oadrCanceledOpt_type& x (*i.oadrCanceledOpt ()); + if (typeid (oadrSignedObject::oadrCanceledOpt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreateOpt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreateOpt ()) + { + const oadrSignedObject::oadrCreateOpt_type& x (*i.oadrCreateOpt ()); + if (typeid (oadrSignedObject::oadrCreateOpt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreatedOpt + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreatedOpt ()) + { + const oadrSignedObject::oadrCreatedOpt_type& x (*i.oadrCreatedOpt ()); + if (typeid (oadrSignedObject::oadrCreatedOpt_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCancelReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCancelReport ()) + { + const oadrSignedObject::oadrCancelReport_type& x (*i.oadrCancelReport ()); + if (typeid (oadrSignedObject::oadrCancelReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCanceledReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCanceledReport ()) + { + const oadrSignedObject::oadrCanceledReport_type& x (*i.oadrCanceledReport ()); + if (typeid (oadrSignedObject::oadrCanceledReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreateReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreateReport ()) + { + const oadrSignedObject::oadrCreateReport_type& x (*i.oadrCreateReport ()); + if (typeid (oadrSignedObject::oadrCreateReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreatedReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreatedReport ()) + { + const oadrSignedObject::oadrCreatedReport_type& x (*i.oadrCreatedReport ()); + if (typeid (oadrSignedObject::oadrCreatedReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrRegisterReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrRegisterReport ()) + { + const oadrSignedObject::oadrRegisterReport_type& x (*i.oadrRegisterReport ()); + if (typeid (oadrSignedObject::oadrRegisterReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrRegisteredReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrRegisteredReport ()) + { + const oadrSignedObject::oadrRegisteredReport_type& x (*i.oadrRegisteredReport ()); + if (typeid (oadrSignedObject::oadrRegisteredReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrUpdateReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrUpdateReport ()) + { + const oadrSignedObject::oadrUpdateReport_type& x (*i.oadrUpdateReport ()); + if (typeid (oadrSignedObject::oadrUpdateReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrUpdatedReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrUpdatedReport ()) + { + const oadrSignedObject::oadrUpdatedReport_type& x (*i.oadrUpdatedReport ()); + if (typeid (oadrSignedObject::oadrUpdatedReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCancelPartyRegistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCancelPartyRegistration ()) + { + const oadrSignedObject::oadrCancelPartyRegistration_type& x (*i.oadrCancelPartyRegistration ()); + if (typeid (oadrSignedObject::oadrCancelPartyRegistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCanceledPartyRegistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCanceledPartyRegistration ()) + { + const oadrSignedObject::oadrCanceledPartyRegistration_type& x (*i.oadrCanceledPartyRegistration ()); + if (typeid (oadrSignedObject::oadrCanceledPartyRegistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreatePartyRegistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreatePartyRegistration ()) + { + const oadrSignedObject::oadrCreatePartyRegistration_type& x (*i.oadrCreatePartyRegistration ()); + if (typeid (oadrSignedObject::oadrCreatePartyRegistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrCreatedPartyRegistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCreatedPartyRegistration ()) + { + const oadrSignedObject::oadrCreatedPartyRegistration_type& x (*i.oadrCreatedPartyRegistration ()); + if (typeid (oadrSignedObject::oadrCreatedPartyRegistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrRequestReregistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrRequestReregistration ()) + { + const oadrSignedObject::oadrRequestReregistration_type& x (*i.oadrRequestReregistration ()); + if (typeid (oadrSignedObject::oadrRequestReregistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrQueryRegistration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrQueryRegistration ()) + { + const oadrSignedObject::oadrQueryRegistration_type& x (*i.oadrQueryRegistration ()); + if (typeid (oadrSignedObject::oadrQueryRegistration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // oadrPoll + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrPoll ()) + { + const oadrSignedObject::oadrPoll_type& x (*i.oadrPoll ()); + if (typeid (oadrSignedObject::oadrPoll_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // Id + // + if (i.Id ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "Id", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + a << *i.Id (); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrSignedObject.hxx b/oadrsd/oadrsd/2b/oadrSignedObject.hxx new file mode 100644 index 0000000..37acd10 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrSignedObject.hxx @@ -0,0 +1,1064 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SIGNED_OBJECT_HXX +#define OADR_SIGNED_OBJECT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrSignedObject; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrDistributeEventType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedEventType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRequestEventType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelOptType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledOptType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreateOptType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedOptType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreateReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRegisterReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRegisteredReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrUpdateReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrUpdatedReportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelPartyRegistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCanceledPartyRegistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatePartyRegistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCreatedPartyRegistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrRequestReregistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrQueryRegistrationType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrPollType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrSignedObject: public ::xml_schema::type + { + public: + // oadrDistributeEvent + // + typedef ::oadr2b::oadr::oadrDistributeEventType oadrDistributeEvent_type; + typedef ::xsd::cxx::tree::optional< oadrDistributeEvent_type > oadrDistributeEvent_optional; + typedef ::xsd::cxx::tree::traits< oadrDistributeEvent_type, char > oadrDistributeEvent_traits; + + const oadrDistributeEvent_optional& + oadrDistributeEvent () const; + + oadrDistributeEvent_optional& + oadrDistributeEvent (); + + void + oadrDistributeEvent (const oadrDistributeEvent_type& x); + + void + oadrDistributeEvent (const oadrDistributeEvent_optional& x); + + void + oadrDistributeEvent (::std::auto_ptr< oadrDistributeEvent_type > p); + + // oadrCreatedEvent + // + typedef ::oadr2b::oadr::oadrCreatedEventType oadrCreatedEvent_type; + typedef ::xsd::cxx::tree::optional< oadrCreatedEvent_type > oadrCreatedEvent_optional; + typedef ::xsd::cxx::tree::traits< oadrCreatedEvent_type, char > oadrCreatedEvent_traits; + + const oadrCreatedEvent_optional& + oadrCreatedEvent () const; + + oadrCreatedEvent_optional& + oadrCreatedEvent (); + + void + oadrCreatedEvent (const oadrCreatedEvent_type& x); + + void + oadrCreatedEvent (const oadrCreatedEvent_optional& x); + + void + oadrCreatedEvent (::std::auto_ptr< oadrCreatedEvent_type > p); + + // oadrRequestEvent + // + typedef ::oadr2b::oadr::oadrRequestEventType oadrRequestEvent_type; + typedef ::xsd::cxx::tree::optional< oadrRequestEvent_type > oadrRequestEvent_optional; + typedef ::xsd::cxx::tree::traits< oadrRequestEvent_type, char > oadrRequestEvent_traits; + + const oadrRequestEvent_optional& + oadrRequestEvent () const; + + oadrRequestEvent_optional& + oadrRequestEvent (); + + void + oadrRequestEvent (const oadrRequestEvent_type& x); + + void + oadrRequestEvent (const oadrRequestEvent_optional& x); + + void + oadrRequestEvent (::std::auto_ptr< oadrRequestEvent_type > p); + + // oadrResponse + // + typedef ::oadr2b::oadr::oadrResponseType oadrResponse_type; + typedef ::xsd::cxx::tree::optional< oadrResponse_type > oadrResponse_optional; + typedef ::xsd::cxx::tree::traits< oadrResponse_type, char > oadrResponse_traits; + + const oadrResponse_optional& + oadrResponse () const; + + oadrResponse_optional& + oadrResponse (); + + void + oadrResponse (const oadrResponse_type& x); + + void + oadrResponse (const oadrResponse_optional& x); + + void + oadrResponse (::std::auto_ptr< oadrResponse_type > p); + + // oadrCancelOpt + // + typedef ::oadr2b::oadr::oadrCancelOptType oadrCancelOpt_type; + typedef ::xsd::cxx::tree::optional< oadrCancelOpt_type > oadrCancelOpt_optional; + typedef ::xsd::cxx::tree::traits< oadrCancelOpt_type, char > oadrCancelOpt_traits; + + const oadrCancelOpt_optional& + oadrCancelOpt () const; + + oadrCancelOpt_optional& + oadrCancelOpt (); + + void + oadrCancelOpt (const oadrCancelOpt_type& x); + + void + oadrCancelOpt (const oadrCancelOpt_optional& x); + + void + oadrCancelOpt (::std::auto_ptr< oadrCancelOpt_type > p); + + // oadrCanceledOpt + // + typedef ::oadr2b::oadr::oadrCanceledOptType oadrCanceledOpt_type; + typedef ::xsd::cxx::tree::optional< oadrCanceledOpt_type > oadrCanceledOpt_optional; + typedef ::xsd::cxx::tree::traits< oadrCanceledOpt_type, char > oadrCanceledOpt_traits; + + const oadrCanceledOpt_optional& + oadrCanceledOpt () const; + + oadrCanceledOpt_optional& + oadrCanceledOpt (); + + void + oadrCanceledOpt (const oadrCanceledOpt_type& x); + + void + oadrCanceledOpt (const oadrCanceledOpt_optional& x); + + void + oadrCanceledOpt (::std::auto_ptr< oadrCanceledOpt_type > p); + + // oadrCreateOpt + // + typedef ::oadr2b::oadr::oadrCreateOptType oadrCreateOpt_type; + typedef ::xsd::cxx::tree::optional< oadrCreateOpt_type > oadrCreateOpt_optional; + typedef ::xsd::cxx::tree::traits< oadrCreateOpt_type, char > oadrCreateOpt_traits; + + const oadrCreateOpt_optional& + oadrCreateOpt () const; + + oadrCreateOpt_optional& + oadrCreateOpt (); + + void + oadrCreateOpt (const oadrCreateOpt_type& x); + + void + oadrCreateOpt (const oadrCreateOpt_optional& x); + + void + oadrCreateOpt (::std::auto_ptr< oadrCreateOpt_type > p); + + // oadrCreatedOpt + // + typedef ::oadr2b::oadr::oadrCreatedOptType oadrCreatedOpt_type; + typedef ::xsd::cxx::tree::optional< oadrCreatedOpt_type > oadrCreatedOpt_optional; + typedef ::xsd::cxx::tree::traits< oadrCreatedOpt_type, char > oadrCreatedOpt_traits; + + const oadrCreatedOpt_optional& + oadrCreatedOpt () const; + + oadrCreatedOpt_optional& + oadrCreatedOpt (); + + void + oadrCreatedOpt (const oadrCreatedOpt_type& x); + + void + oadrCreatedOpt (const oadrCreatedOpt_optional& x); + + void + oadrCreatedOpt (::std::auto_ptr< oadrCreatedOpt_type > p); + + // oadrCancelReport + // + typedef ::oadr2b::oadr::oadrCancelReportType oadrCancelReport_type; + typedef ::xsd::cxx::tree::optional< oadrCancelReport_type > oadrCancelReport_optional; + typedef ::xsd::cxx::tree::traits< oadrCancelReport_type, char > oadrCancelReport_traits; + + const oadrCancelReport_optional& + oadrCancelReport () const; + + oadrCancelReport_optional& + oadrCancelReport (); + + void + oadrCancelReport (const oadrCancelReport_type& x); + + void + oadrCancelReport (const oadrCancelReport_optional& x); + + void + oadrCancelReport (::std::auto_ptr< oadrCancelReport_type > p); + + // oadrCanceledReport + // + typedef ::oadr2b::oadr::oadrCanceledReportType oadrCanceledReport_type; + typedef ::xsd::cxx::tree::optional< oadrCanceledReport_type > oadrCanceledReport_optional; + typedef ::xsd::cxx::tree::traits< oadrCanceledReport_type, char > oadrCanceledReport_traits; + + const oadrCanceledReport_optional& + oadrCanceledReport () const; + + oadrCanceledReport_optional& + oadrCanceledReport (); + + void + oadrCanceledReport (const oadrCanceledReport_type& x); + + void + oadrCanceledReport (const oadrCanceledReport_optional& x); + + void + oadrCanceledReport (::std::auto_ptr< oadrCanceledReport_type > p); + + // oadrCreateReport + // + typedef ::oadr2b::oadr::oadrCreateReportType oadrCreateReport_type; + typedef ::xsd::cxx::tree::optional< oadrCreateReport_type > oadrCreateReport_optional; + typedef ::xsd::cxx::tree::traits< oadrCreateReport_type, char > oadrCreateReport_traits; + + const oadrCreateReport_optional& + oadrCreateReport () const; + + oadrCreateReport_optional& + oadrCreateReport (); + + void + oadrCreateReport (const oadrCreateReport_type& x); + + void + oadrCreateReport (const oadrCreateReport_optional& x); + + void + oadrCreateReport (::std::auto_ptr< oadrCreateReport_type > p); + + // oadrCreatedReport + // + typedef ::oadr2b::oadr::oadrCreatedReportType oadrCreatedReport_type; + typedef ::xsd::cxx::tree::optional< oadrCreatedReport_type > oadrCreatedReport_optional; + typedef ::xsd::cxx::tree::traits< oadrCreatedReport_type, char > oadrCreatedReport_traits; + + const oadrCreatedReport_optional& + oadrCreatedReport () const; + + oadrCreatedReport_optional& + oadrCreatedReport (); + + void + oadrCreatedReport (const oadrCreatedReport_type& x); + + void + oadrCreatedReport (const oadrCreatedReport_optional& x); + + void + oadrCreatedReport (::std::auto_ptr< oadrCreatedReport_type > p); + + // oadrRegisterReport + // + typedef ::oadr2b::oadr::oadrRegisterReportType oadrRegisterReport_type; + typedef ::xsd::cxx::tree::optional< oadrRegisterReport_type > oadrRegisterReport_optional; + typedef ::xsd::cxx::tree::traits< oadrRegisterReport_type, char > oadrRegisterReport_traits; + + const oadrRegisterReport_optional& + oadrRegisterReport () const; + + oadrRegisterReport_optional& + oadrRegisterReport (); + + void + oadrRegisterReport (const oadrRegisterReport_type& x); + + void + oadrRegisterReport (const oadrRegisterReport_optional& x); + + void + oadrRegisterReport (::std::auto_ptr< oadrRegisterReport_type > p); + + // oadrRegisteredReport + // + typedef ::oadr2b::oadr::oadrRegisteredReportType oadrRegisteredReport_type; + typedef ::xsd::cxx::tree::optional< oadrRegisteredReport_type > oadrRegisteredReport_optional; + typedef ::xsd::cxx::tree::traits< oadrRegisteredReport_type, char > oadrRegisteredReport_traits; + + const oadrRegisteredReport_optional& + oadrRegisteredReport () const; + + oadrRegisteredReport_optional& + oadrRegisteredReport (); + + void + oadrRegisteredReport (const oadrRegisteredReport_type& x); + + void + oadrRegisteredReport (const oadrRegisteredReport_optional& x); + + void + oadrRegisteredReport (::std::auto_ptr< oadrRegisteredReport_type > p); + + // oadrUpdateReport + // + typedef ::oadr2b::oadr::oadrUpdateReportType oadrUpdateReport_type; + typedef ::xsd::cxx::tree::optional< oadrUpdateReport_type > oadrUpdateReport_optional; + typedef ::xsd::cxx::tree::traits< oadrUpdateReport_type, char > oadrUpdateReport_traits; + + const oadrUpdateReport_optional& + oadrUpdateReport () const; + + oadrUpdateReport_optional& + oadrUpdateReport (); + + void + oadrUpdateReport (const oadrUpdateReport_type& x); + + void + oadrUpdateReport (const oadrUpdateReport_optional& x); + + void + oadrUpdateReport (::std::auto_ptr< oadrUpdateReport_type > p); + + // oadrUpdatedReport + // + typedef ::oadr2b::oadr::oadrUpdatedReportType oadrUpdatedReport_type; + typedef ::xsd::cxx::tree::optional< oadrUpdatedReport_type > oadrUpdatedReport_optional; + typedef ::xsd::cxx::tree::traits< oadrUpdatedReport_type, char > oadrUpdatedReport_traits; + + const oadrUpdatedReport_optional& + oadrUpdatedReport () const; + + oadrUpdatedReport_optional& + oadrUpdatedReport (); + + void + oadrUpdatedReport (const oadrUpdatedReport_type& x); + + void + oadrUpdatedReport (const oadrUpdatedReport_optional& x); + + void + oadrUpdatedReport (::std::auto_ptr< oadrUpdatedReport_type > p); + + // oadrCancelPartyRegistration + // + typedef ::oadr2b::oadr::oadrCancelPartyRegistrationType oadrCancelPartyRegistration_type; + typedef ::xsd::cxx::tree::optional< oadrCancelPartyRegistration_type > oadrCancelPartyRegistration_optional; + typedef ::xsd::cxx::tree::traits< oadrCancelPartyRegistration_type, char > oadrCancelPartyRegistration_traits; + + const oadrCancelPartyRegistration_optional& + oadrCancelPartyRegistration () const; + + oadrCancelPartyRegistration_optional& + oadrCancelPartyRegistration (); + + void + oadrCancelPartyRegistration (const oadrCancelPartyRegistration_type& x); + + void + oadrCancelPartyRegistration (const oadrCancelPartyRegistration_optional& x); + + void + oadrCancelPartyRegistration (::std::auto_ptr< oadrCancelPartyRegistration_type > p); + + // oadrCanceledPartyRegistration + // + typedef ::oadr2b::oadr::oadrCanceledPartyRegistrationType oadrCanceledPartyRegistration_type; + typedef ::xsd::cxx::tree::optional< oadrCanceledPartyRegistration_type > oadrCanceledPartyRegistration_optional; + typedef ::xsd::cxx::tree::traits< oadrCanceledPartyRegistration_type, char > oadrCanceledPartyRegistration_traits; + + const oadrCanceledPartyRegistration_optional& + oadrCanceledPartyRegistration () const; + + oadrCanceledPartyRegistration_optional& + oadrCanceledPartyRegistration (); + + void + oadrCanceledPartyRegistration (const oadrCanceledPartyRegistration_type& x); + + void + oadrCanceledPartyRegistration (const oadrCanceledPartyRegistration_optional& x); + + void + oadrCanceledPartyRegistration (::std::auto_ptr< oadrCanceledPartyRegistration_type > p); + + // oadrCreatePartyRegistration + // + typedef ::oadr2b::oadr::oadrCreatePartyRegistrationType oadrCreatePartyRegistration_type; + typedef ::xsd::cxx::tree::optional< oadrCreatePartyRegistration_type > oadrCreatePartyRegistration_optional; + typedef ::xsd::cxx::tree::traits< oadrCreatePartyRegistration_type, char > oadrCreatePartyRegistration_traits; + + const oadrCreatePartyRegistration_optional& + oadrCreatePartyRegistration () const; + + oadrCreatePartyRegistration_optional& + oadrCreatePartyRegistration (); + + void + oadrCreatePartyRegistration (const oadrCreatePartyRegistration_type& x); + + void + oadrCreatePartyRegistration (const oadrCreatePartyRegistration_optional& x); + + void + oadrCreatePartyRegistration (::std::auto_ptr< oadrCreatePartyRegistration_type > p); + + // oadrCreatedPartyRegistration + // + typedef ::oadr2b::oadr::oadrCreatedPartyRegistrationType oadrCreatedPartyRegistration_type; + typedef ::xsd::cxx::tree::optional< oadrCreatedPartyRegistration_type > oadrCreatedPartyRegistration_optional; + typedef ::xsd::cxx::tree::traits< oadrCreatedPartyRegistration_type, char > oadrCreatedPartyRegistration_traits; + + const oadrCreatedPartyRegistration_optional& + oadrCreatedPartyRegistration () const; + + oadrCreatedPartyRegistration_optional& + oadrCreatedPartyRegistration (); + + void + oadrCreatedPartyRegistration (const oadrCreatedPartyRegistration_type& x); + + void + oadrCreatedPartyRegistration (const oadrCreatedPartyRegistration_optional& x); + + void + oadrCreatedPartyRegistration (::std::auto_ptr< oadrCreatedPartyRegistration_type > p); + + // oadrRequestReregistration + // + typedef ::oadr2b::oadr::oadrRequestReregistrationType oadrRequestReregistration_type; + typedef ::xsd::cxx::tree::optional< oadrRequestReregistration_type > oadrRequestReregistration_optional; + typedef ::xsd::cxx::tree::traits< oadrRequestReregistration_type, char > oadrRequestReregistration_traits; + + const oadrRequestReregistration_optional& + oadrRequestReregistration () const; + + oadrRequestReregistration_optional& + oadrRequestReregistration (); + + void + oadrRequestReregistration (const oadrRequestReregistration_type& x); + + void + oadrRequestReregistration (const oadrRequestReregistration_optional& x); + + void + oadrRequestReregistration (::std::auto_ptr< oadrRequestReregistration_type > p); + + // oadrQueryRegistration + // + typedef ::oadr2b::oadr::oadrQueryRegistrationType oadrQueryRegistration_type; + typedef ::xsd::cxx::tree::optional< oadrQueryRegistration_type > oadrQueryRegistration_optional; + typedef ::xsd::cxx::tree::traits< oadrQueryRegistration_type, char > oadrQueryRegistration_traits; + + const oadrQueryRegistration_optional& + oadrQueryRegistration () const; + + oadrQueryRegistration_optional& + oadrQueryRegistration (); + + void + oadrQueryRegistration (const oadrQueryRegistration_type& x); + + void + oadrQueryRegistration (const oadrQueryRegistration_optional& x); + + void + oadrQueryRegistration (::std::auto_ptr< oadrQueryRegistration_type > p); + + // oadrPoll + // + typedef ::oadr2b::oadr::oadrPollType oadrPoll_type; + typedef ::xsd::cxx::tree::optional< oadrPoll_type > oadrPoll_optional; + typedef ::xsd::cxx::tree::traits< oadrPoll_type, char > oadrPoll_traits; + + const oadrPoll_optional& + oadrPoll () const; + + oadrPoll_optional& + oadrPoll (); + + void + oadrPoll (const oadrPoll_type& x); + + void + oadrPoll (const oadrPoll_optional& x); + + void + oadrPoll (::std::auto_ptr< oadrPoll_type > p); + + // Id + // + typedef ::xml_schema::id Id_type; + typedef ::xsd::cxx::tree::optional< Id_type > Id_optional; + typedef ::xsd::cxx::tree::traits< Id_type, char > Id_traits; + + const Id_optional& + Id () const; + + Id_optional& + Id (); + + void + Id (const Id_type& x); + + void + Id (const Id_optional& x); + + void + Id (::std::auto_ptr< Id_type > p); + + // Constructors. + // + oadrSignedObject (); + + oadrSignedObject (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrSignedObject (const oadrSignedObject& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrSignedObject* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrSignedObject& + operator= (const oadrSignedObject& x); + + virtual + ~oadrSignedObject (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrDistributeEvent_optional oadrDistributeEvent_; + oadrCreatedEvent_optional oadrCreatedEvent_; + oadrRequestEvent_optional oadrRequestEvent_; + oadrResponse_optional oadrResponse_; + oadrCancelOpt_optional oadrCancelOpt_; + oadrCanceledOpt_optional oadrCanceledOpt_; + oadrCreateOpt_optional oadrCreateOpt_; + oadrCreatedOpt_optional oadrCreatedOpt_; + oadrCancelReport_optional oadrCancelReport_; + oadrCanceledReport_optional oadrCanceledReport_; + oadrCreateReport_optional oadrCreateReport_; + oadrCreatedReport_optional oadrCreatedReport_; + oadrRegisterReport_optional oadrRegisterReport_; + oadrRegisteredReport_optional oadrRegisteredReport_; + oadrUpdateReport_optional oadrUpdateReport_; + oadrUpdatedReport_optional oadrUpdatedReport_; + oadrCancelPartyRegistration_optional oadrCancelPartyRegistration_; + oadrCanceledPartyRegistration_optional oadrCanceledPartyRegistration_; + oadrCreatePartyRegistration_optional oadrCreatePartyRegistration_; + oadrCreatedPartyRegistration_optional oadrCreatedPartyRegistration_; + oadrRequestReregistration_optional oadrRequestReregistration_; + oadrQueryRegistration_optional oadrQueryRegistration_; + oadrPoll_optional oadrPoll_; + Id_optional Id_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrSignedObject&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SIGNED_OBJECT_HXX diff --git a/oadrsd/oadrsd/2b/oadrTransport.cxx b/oadrsd/oadrsd/2b/oadrTransport.cxx new file mode 100644 index 0000000..db5d9e8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransport.cxx @@ -0,0 +1,274 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrTransport.hxx" + +#include "oadrTransportType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrTransport + // + + const oadrTransport::oadrTransportName_type& oadrTransport:: + oadrTransportName () const + { + return this->oadrTransportName_.get (); + } + + oadrTransport::oadrTransportName_type& oadrTransport:: + oadrTransportName () + { + return this->oadrTransportName_.get (); + } + + void oadrTransport:: + oadrTransportName (const oadrTransportName_type& x) + { + this->oadrTransportName_.set (x); + } + + void oadrTransport:: + oadrTransportName (::std::auto_ptr< oadrTransportName_type > x) + { + this->oadrTransportName_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrTransport + // + + oadrTransport:: + oadrTransport (const oadrTransportName_type& oadrTransportName) + : ::xml_schema::type (), + oadrTransportName_ (oadrTransportName, this) + { + } + + oadrTransport:: + oadrTransport (::std::auto_ptr< oadrTransportName_type > oadrTransportName) + : ::xml_schema::type (), + oadrTransportName_ (oadrTransportName, this) + { + } + + oadrTransport:: + oadrTransport (const oadrTransport& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrTransportName_ (x.oadrTransportName_, f, this) + { + } + + oadrTransport:: + oadrTransport (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrTransportName_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrTransport:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrTransportName + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrTransportName_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!oadrTransportName_.present ()) + { + ::std::auto_ptr< oadrTransportName_type > r ( + dynamic_cast< oadrTransportName_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrTransportName_.set (r); + continue; + } + } + } + + break; + } + + if (!oadrTransportName_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + oadrTransport* oadrTransport:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrTransport (*this, f, c); + } + + oadrTransport& oadrTransport:: + operator= (const oadrTransport& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrTransportName_ = x.oadrTransportName_; + } + + return *this; + } + + oadrTransport:: + ~oadrTransport () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrTransport& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrTransportName + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrTransport::oadrTransportName_type& x (i.oadrTransportName ()); + if (typeid (oadrTransport::oadrTransportName_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrTransport.hxx b/oadrsd/oadrsd/2b/oadrTransport.hxx new file mode 100644 index 0000000..6035551 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransport.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_TRANSPORT_HXX +#define OADR_TRANSPORT_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrTransport; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrTransportType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrTransport: public ::xml_schema::type + { + public: + // oadrTransportName + // + typedef ::oadr2b::oadr::oadrTransportType oadrTransportName_type; + typedef ::xsd::cxx::tree::traits< oadrTransportName_type, char > oadrTransportName_traits; + + const oadrTransportName_type& + oadrTransportName () const; + + oadrTransportName_type& + oadrTransportName (); + + void + oadrTransportName (const oadrTransportName_type& x); + + void + oadrTransportName (::std::auto_ptr< oadrTransportName_type > p); + + // Constructors. + // + oadrTransport (const oadrTransportName_type&); + + oadrTransport (::std::auto_ptr< oadrTransportName_type >); + + oadrTransport (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrTransport (const oadrTransport& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrTransport* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrTransport& + operator= (const oadrTransport& x); + + virtual + ~oadrTransport (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< oadrTransportName_type > oadrTransportName_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrTransport&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_TRANSPORT_HXX diff --git a/oadrsd/oadrsd/2b/oadrTransportType.cxx b/oadrsd/oadrsd/2b/oadrTransportType.cxx new file mode 100644 index 0000000..dfcfc99 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransportType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrTransportType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrTransportType + // + + oadrTransportType:: + oadrTransportType (value v) + : ::xml_schema::token (_xsd_oadrTransportType_literals_[v]) + { + } + + oadrTransportType:: + oadrTransportType (const char* v) + : ::xml_schema::token (v) + { + } + + oadrTransportType:: + oadrTransportType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + oadrTransportType:: + oadrTransportType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + oadrTransportType:: + oadrTransportType (const oadrTransportType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + oadrTransportType& oadrTransportType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_oadrTransportType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrTransportType + // + + oadrTransportType:: + oadrTransportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_oadrTransportType_convert (); + } + + oadrTransportType:: + oadrTransportType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_oadrTransportType_convert (); + } + + oadrTransportType:: + oadrTransportType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_oadrTransportType_convert (); + } + + oadrTransportType* oadrTransportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrTransportType (*this, f, c); + } + + oadrTransportType::value oadrTransportType:: + _xsd_oadrTransportType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_oadrTransportType_literals_); + const value* i (::std::lower_bound ( + _xsd_oadrTransportType_indexes_, + _xsd_oadrTransportType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_oadrTransportType_indexes_ + 2 || _xsd_oadrTransportType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const oadrTransportType:: + _xsd_oadrTransportType_literals_[2] = + { + "simpleHttp", + "xmpp" + }; + + const oadrTransportType::value oadrTransportType:: + _xsd_oadrTransportType_indexes_[2] = + { + ::oadr2b::oadr::oadrTransportType::simpleHttp, + ::oadr2b::oadr::oadrTransportType::xmpp + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrTransportType > + _xsd_oadrTransportType_type_factory_init ( + "oadrTransportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrTransportType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const oadrTransportType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const oadrTransportType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrTransportType > + _xsd_oadrTransportType_type_serializer_init ( + "oadrTransportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrTransportType.hxx b/oadrsd/oadrsd/2b/oadrTransportType.hxx new file mode 100644 index 0000000..59b058b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransportType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_TRANSPORT_TYPE_HXX +#define OADR_TRANSPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrTransportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrTransportType: public ::xml_schema::token + { + public: + enum value + { + simpleHttp, + xmpp + }; + + oadrTransportType (value v); + + oadrTransportType (const char* v); + + oadrTransportType (const ::std::string& v); + + oadrTransportType (const ::xml_schema::token& v); + + oadrTransportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrTransportType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrTransportType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrTransportType (const oadrTransportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrTransportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrTransportType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_oadrTransportType_convert (); + } + + protected: + value + _xsd_oadrTransportType_convert () const; + + public: + static const char* const _xsd_oadrTransportType_literals_[2]; + static const value _xsd_oadrTransportType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrTransportType&); + + void + operator<< (::xercesc::DOMAttr&, const oadrTransportType&); + + void + operator<< (::xml_schema::list_stream&, + const oadrTransportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_TRANSPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrTransports.cxx b/oadrsd/oadrsd/2b/oadrTransports.cxx new file mode 100644 index 0000000..bcc8794 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransports.cxx @@ -0,0 +1,228 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrTransports.hxx" + +#include "oadrTransport.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrTransports + // + + const oadrTransports::oadrTransport_sequence& oadrTransports:: + oadrTransport () const + { + return this->oadrTransport_; + } + + oadrTransports::oadrTransport_sequence& oadrTransports:: + oadrTransport () + { + return this->oadrTransport_; + } + + void oadrTransports:: + oadrTransport (const oadrTransport_sequence& s) + { + this->oadrTransport_ = s; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrTransports + // + + oadrTransports:: + oadrTransports () + : ::xml_schema::type (), + oadrTransport_ (this) + { + } + + oadrTransports:: + oadrTransports (const oadrTransports& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + oadrTransport_ (x.oadrTransport_, f, this) + { + } + + oadrTransports:: + oadrTransports (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + oadrTransport_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void oadrTransports:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // oadrTransport + // + if (n.name () == "oadrTransport" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< oadrTransport_type > r ( + oadrTransport_traits::create (i, f, this)); + + this->oadrTransport_.push_back (r); + continue; + } + + break; + } + } + + oadrTransports* oadrTransports:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrTransports (*this, f, c); + } + + oadrTransports& oadrTransports:: + operator= (const oadrTransports& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->oadrTransport_ = x.oadrTransport_; + } + + return *this; + } + + oadrTransports:: + ~oadrTransports () + { + } + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrTransports& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // oadrTransport + // + for (oadrTransports::oadrTransport_const_iterator + b (i.oadrTransport ().begin ()), n (i.oadrTransport ().end ()); + b != n; ++b) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrTransport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrTransports.hxx b/oadrsd/oadrsd/2b/oadrTransports.hxx new file mode 100644 index 0000000..c572666 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrTransports.hxx @@ -0,0 +1,378 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_TRANSPORTS_HXX +#define OADR_TRANSPORTS_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrTransports; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrTransport; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrTransports: public ::xml_schema::type + { + public: + // oadrTransport + // + typedef ::oadr2b::oadr::oadrTransport oadrTransport_type; + typedef ::xsd::cxx::tree::sequence< oadrTransport_type > oadrTransport_sequence; + typedef oadrTransport_sequence::iterator oadrTransport_iterator; + typedef oadrTransport_sequence::const_iterator oadrTransport_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrTransport_type, char > oadrTransport_traits; + + const oadrTransport_sequence& + oadrTransport () const; + + oadrTransport_sequence& + oadrTransport (); + + void + oadrTransport (const oadrTransport_sequence& s); + + // Constructors. + // + oadrTransports (); + + oadrTransports (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrTransports (const oadrTransports& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrTransports* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrTransports& + operator= (const oadrTransports& x); + + virtual + ~oadrTransports (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + oadrTransport_sequence oadrTransport_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrTransports&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_TRANSPORTS_HXX diff --git a/oadrsd/oadrsd/2b/oadrUpdateReportType.cxx b/oadrsd/oadrsd/2b/oadrUpdateReportType.cxx new file mode 100644 index 0000000..a67644c --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrUpdateReportType.cxx @@ -0,0 +1,515 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrUpdateReportType.hxx" + +#include "oadrReportType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrUpdateReportType + // + + const oadrUpdateReportType::requestID_type& oadrUpdateReportType:: + requestID () const + { + return this->requestID_.get (); + } + + oadrUpdateReportType::requestID_type& oadrUpdateReportType:: + requestID () + { + return this->requestID_.get (); + } + + void oadrUpdateReportType:: + requestID (const requestID_type& x) + { + this->requestID_.set (x); + } + + void oadrUpdateReportType:: + requestID (::std::auto_ptr< requestID_type > x) + { + this->requestID_.set (x); + } + + const oadrUpdateReportType::oadrReport_sequence& oadrUpdateReportType:: + oadrReport () const + { + return this->oadrReport_; + } + + oadrUpdateReportType::oadrReport_sequence& oadrUpdateReportType:: + oadrReport () + { + return this->oadrReport_; + } + + void oadrUpdateReportType:: + oadrReport (const oadrReport_sequence& s) + { + this->oadrReport_ = s; + } + + const oadrUpdateReportType::venID_optional& oadrUpdateReportType:: + venID () const + { + return this->venID_; + } + + oadrUpdateReportType::venID_optional& oadrUpdateReportType:: + venID () + { + return this->venID_; + } + + void oadrUpdateReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrUpdateReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrUpdateReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrUpdateReportType::schemaVersion_optional& oadrUpdateReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrUpdateReportType::schemaVersion_optional& oadrUpdateReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrUpdateReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrUpdateReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrUpdateReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrUpdateReportType + // + + oadrUpdateReportType:: + oadrUpdateReportType (const requestID_type& requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrUpdateReportType:: + oadrUpdateReportType (::std::auto_ptr< requestID_type > requestID) + : ::xml_schema::type (), + requestID_ (requestID, this), + oadrReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrUpdateReportType:: + oadrUpdateReportType (const oadrUpdateReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + requestID_ (x.requestID_, f, this), + oadrReport_ (x.oadrReport_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrUpdateReportType:: + oadrUpdateReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + requestID_ (this), + oadrReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrUpdateReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // requestID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< requestID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!requestID_.present ()) + { + ::std::auto_ptr< requestID_type > r ( + dynamic_cast< requestID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->requestID_.set (r); + continue; + } + } + } + + // oadrReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< oadrReport_type > r ( + dynamic_cast< oadrReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrReport_.push_back (r); + continue; + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!requestID_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrUpdateReportType* oadrUpdateReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrUpdateReportType (*this, f, c); + } + + oadrUpdateReportType& oadrUpdateReportType:: + operator= (const oadrUpdateReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->requestID_ = x.requestID_; + this->oadrReport_ = x.oadrReport_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrUpdateReportType:: + ~oadrUpdateReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrUpdateReportType > + _xsd_oadrUpdateReportType_type_factory_init ( + "oadrUpdateReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrUpdateReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // requestID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrUpdateReportType::requestID_type& x (i.requestID ()); + if (typeid (oadrUpdateReportType::requestID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e)); + + s << x; + } + else + tsm.serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + true, true, e, x); + } + + // oadrReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (oadrUpdateReportType::oadrReport_const_iterator + b (i.oadrReport ().begin ()), n (i.oadrReport ().end ()); + b != n; ++b) + { + if (typeid (oadrUpdateReportType::oadrReport_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << *b; + } + else + tsm.serialize ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, *b); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrUpdateReportType::venID_type& x (*i.venID ()); + if (typeid (oadrUpdateReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrUpdateReportType > + _xsd_oadrUpdateReportType_type_serializer_init ( + "oadrUpdateReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrUpdateReportType.hxx b/oadrsd/oadrsd/2b/oadrUpdateReportType.hxx new file mode 100644 index 0000000..3d96b0d --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrUpdateReportType.hxx @@ -0,0 +1,450 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_UPDATE_REPORT_TYPE_HXX +#define OADR_UPDATE_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrUpdateReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class oadrReportType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrUpdateReportType: public ::xml_schema::type + { + public: + // requestID + // + typedef ::xml_schema::string requestID_type; + typedef ::xsd::cxx::tree::traits< requestID_type, char > requestID_traits; + + const requestID_type& + requestID () const; + + requestID_type& + requestID (); + + void + requestID (const requestID_type& x); + + void + requestID (::std::auto_ptr< requestID_type > p); + + // oadrReport + // + typedef ::oadr2b::oadr::oadrReportType oadrReport_type; + typedef ::xsd::cxx::tree::sequence< oadrReport_type > oadrReport_sequence; + typedef oadrReport_sequence::iterator oadrReport_iterator; + typedef oadrReport_sequence::const_iterator oadrReport_const_iterator; + typedef ::xsd::cxx::tree::traits< oadrReport_type, char > oadrReport_traits; + + const oadrReport_sequence& + oadrReport () const; + + oadrReport_sequence& + oadrReport (); + + void + oadrReport (const oadrReport_sequence& s); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrUpdateReportType (const requestID_type&); + + oadrUpdateReportType (::std::auto_ptr< requestID_type >); + + oadrUpdateReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrUpdateReportType (const oadrUpdateReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrUpdateReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrUpdateReportType& + operator= (const oadrUpdateReportType& x); + + virtual + ~oadrUpdateReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< requestID_type > requestID_; + oadrReport_sequence oadrReport_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrUpdateReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_UPDATE_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadrUpdatedReportType.cxx b/oadrsd/oadrsd/2b/oadrUpdatedReportType.cxx new file mode 100644 index 0000000..892fa12 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrUpdatedReportType.cxx @@ -0,0 +1,531 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadrUpdatedReportType.hxx" + +#include "EiResponseType.hxx" + +#include "oadrCancelReportType.hxx" + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // oadrUpdatedReportType + // + + const oadrUpdatedReportType::eiResponse_type& oadrUpdatedReportType:: + eiResponse () const + { + return this->eiResponse_.get (); + } + + oadrUpdatedReportType::eiResponse_type& oadrUpdatedReportType:: + eiResponse () + { + return this->eiResponse_.get (); + } + + void oadrUpdatedReportType:: + eiResponse (const eiResponse_type& x) + { + this->eiResponse_.set (x); + } + + void oadrUpdatedReportType:: + eiResponse (::std::auto_ptr< eiResponse_type > x) + { + this->eiResponse_.set (x); + } + + const oadrUpdatedReportType::oadrCancelReport_optional& oadrUpdatedReportType:: + oadrCancelReport () const + { + return this->oadrCancelReport_; + } + + oadrUpdatedReportType::oadrCancelReport_optional& oadrUpdatedReportType:: + oadrCancelReport () + { + return this->oadrCancelReport_; + } + + void oadrUpdatedReportType:: + oadrCancelReport (const oadrCancelReport_type& x) + { + this->oadrCancelReport_.set (x); + } + + void oadrUpdatedReportType:: + oadrCancelReport (const oadrCancelReport_optional& x) + { + this->oadrCancelReport_ = x; + } + + void oadrUpdatedReportType:: + oadrCancelReport (::std::auto_ptr< oadrCancelReport_type > x) + { + this->oadrCancelReport_.set (x); + } + + const oadrUpdatedReportType::venID_optional& oadrUpdatedReportType:: + venID () const + { + return this->venID_; + } + + oadrUpdatedReportType::venID_optional& oadrUpdatedReportType:: + venID () + { + return this->venID_; + } + + void oadrUpdatedReportType:: + venID (const venID_type& x) + { + this->venID_.set (x); + } + + void oadrUpdatedReportType:: + venID (const venID_optional& x) + { + this->venID_ = x; + } + + void oadrUpdatedReportType:: + venID (::std::auto_ptr< venID_type > x) + { + this->venID_.set (x); + } + + const oadrUpdatedReportType::schemaVersion_optional& oadrUpdatedReportType:: + schemaVersion () const + { + return this->schemaVersion_; + } + + oadrUpdatedReportType::schemaVersion_optional& oadrUpdatedReportType:: + schemaVersion () + { + return this->schemaVersion_; + } + + void oadrUpdatedReportType:: + schemaVersion (const schemaVersion_type& x) + { + this->schemaVersion_.set (x); + } + + void oadrUpdatedReportType:: + schemaVersion (const schemaVersion_optional& x) + { + this->schemaVersion_ = x; + } + + void oadrUpdatedReportType:: + schemaVersion (::std::auto_ptr< schemaVersion_type > x) + { + this->schemaVersion_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // oadrUpdatedReportType + // + + oadrUpdatedReportType:: + oadrUpdatedReportType (const eiResponse_type& eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrCancelReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrUpdatedReportType:: + oadrUpdatedReportType (::std::auto_ptr< eiResponse_type > eiResponse) + : ::xml_schema::type (), + eiResponse_ (eiResponse, this), + oadrCancelReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + } + + oadrUpdatedReportType:: + oadrUpdatedReportType (const oadrUpdatedReportType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + eiResponse_ (x.eiResponse_, f, this), + oadrCancelReport_ (x.oadrCancelReport_, f, this), + venID_ (x.venID_, f, this), + schemaVersion_ (x.schemaVersion_, f, this) + { + } + + oadrUpdatedReportType:: + oadrUpdatedReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + eiResponse_ (this), + oadrCancelReport_ (this), + venID_ (this), + schemaVersion_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void oadrUpdatedReportType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // eiResponse + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< eiResponse_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!eiResponse_.present ()) + { + ::std::auto_ptr< eiResponse_type > r ( + dynamic_cast< eiResponse_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->eiResponse_.set (r); + continue; + } + } + } + + // oadrCancelReport + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< oadrCancelReport_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->oadrCancelReport_) + { + ::std::auto_ptr< oadrCancelReport_type > r ( + dynamic_cast< oadrCancelReport_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->oadrCancelReport_.set (r); + continue; + } + } + } + + // venID + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< venID_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->venID_) + { + ::std::auto_ptr< venID_type > r ( + dynamic_cast< venID_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->venID_.set (r); + continue; + } + } + } + + break; + } + + if (!eiResponse_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "schemaVersion" && n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + this->schemaVersion_.set (schemaVersion_traits::create (i, f, this)); + continue; + } + } + } + + oadrUpdatedReportType* oadrUpdatedReportType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class oadrUpdatedReportType (*this, f, c); + } + + oadrUpdatedReportType& oadrUpdatedReportType:: + operator= (const oadrUpdatedReportType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->eiResponse_ = x.eiResponse_; + this->oadrCancelReport_ = x.oadrCancelReport_; + this->venID_ = x.venID_; + this->schemaVersion_ = x.schemaVersion_; + } + + return *this; + } + + oadrUpdatedReportType:: + ~oadrUpdatedReportType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, oadrUpdatedReportType > + _xsd_oadrUpdatedReportType_type_factory_init ( + "oadrUpdatedReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const oadrUpdatedReportType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // eiResponse + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const oadrUpdatedReportType::eiResponse_type& x (i.eiResponse ()); + if (typeid (oadrUpdatedReportType::eiResponse_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + + // oadrCancelReport + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.oadrCancelReport ()) + { + const oadrUpdatedReportType::oadrCancelReport_type& x (*i.oadrCancelReport ()); + if (typeid (oadrUpdatedReportType::oadrCancelReport_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + true, true, e, x); + } + } + + // venID + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.venID ()) + { + const oadrUpdatedReportType::venID_type& x (*i.venID ()); + if (typeid (oadrUpdatedReportType::venID_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // schemaVersion + // + if (i.schemaVersion ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "schemaVersion", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + a << *i.schemaVersion (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, oadrUpdatedReportType > + _xsd_oadrUpdatedReportType_type_serializer_init ( + "oadrUpdatedReportType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadrUpdatedReportType.hxx b/oadrsd/oadrsd/2b/oadrUpdatedReportType.hxx new file mode 100644 index 0000000..69fb89c --- /dev/null +++ b/oadrsd/oadrsd/2b/oadrUpdatedReportType.hxx @@ -0,0 +1,462 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_UPDATED_REPORT_TYPE_HXX +#define OADR_UPDATED_REPORT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class oadrUpdatedReportType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class EiResponseType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrCancelReportType; + } +} + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + +namespace oadr2b +{ + namespace oadr + { + class oadrUpdatedReportType: public ::xml_schema::type + { + public: + // eiResponse + // + typedef ::oadr2b::ei::EiResponseType eiResponse_type; + typedef ::xsd::cxx::tree::traits< eiResponse_type, char > eiResponse_traits; + + const eiResponse_type& + eiResponse () const; + + eiResponse_type& + eiResponse (); + + void + eiResponse (const eiResponse_type& x); + + void + eiResponse (::std::auto_ptr< eiResponse_type > p); + + // oadrCancelReport + // + typedef ::oadr2b::oadr::oadrCancelReportType oadrCancelReport_type; + typedef ::xsd::cxx::tree::optional< oadrCancelReport_type > oadrCancelReport_optional; + typedef ::xsd::cxx::tree::traits< oadrCancelReport_type, char > oadrCancelReport_traits; + + const oadrCancelReport_optional& + oadrCancelReport () const; + + oadrCancelReport_optional& + oadrCancelReport (); + + void + oadrCancelReport (const oadrCancelReport_type& x); + + void + oadrCancelReport (const oadrCancelReport_optional& x); + + void + oadrCancelReport (::std::auto_ptr< oadrCancelReport_type > p); + + // venID + // + typedef ::xml_schema::string venID_type; + typedef ::xsd::cxx::tree::optional< venID_type > venID_optional; + typedef ::xsd::cxx::tree::traits< venID_type, char > venID_traits; + + const venID_optional& + venID () const; + + venID_optional& + venID (); + + void + venID (const venID_type& x); + + void + venID (const venID_optional& x); + + void + venID (::std::auto_ptr< venID_type > p); + + // schemaVersion + // + typedef ::oadr2b::ei::schemaVersionType schemaVersion_type; + typedef ::xsd::cxx::tree::optional< schemaVersion_type > schemaVersion_optional; + typedef ::xsd::cxx::tree::traits< schemaVersion_type, char > schemaVersion_traits; + + const schemaVersion_optional& + schemaVersion () const; + + schemaVersion_optional& + schemaVersion (); + + void + schemaVersion (const schemaVersion_type& x); + + void + schemaVersion (const schemaVersion_optional& x); + + void + schemaVersion (::std::auto_ptr< schemaVersion_type > p); + + // Constructors. + // + oadrUpdatedReportType (const eiResponse_type&); + + oadrUpdatedReportType (::std::auto_ptr< eiResponse_type >); + + oadrUpdatedReportType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + oadrUpdatedReportType (const oadrUpdatedReportType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual oadrUpdatedReportType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + oadrUpdatedReportType& + operator= (const oadrUpdatedReportType& x); + + virtual + ~oadrUpdatedReportType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< eiResponse_type > eiResponse_; + oadrCancelReport_optional oadrCancelReport_; + venID_optional venID_; + schemaVersion_optional schemaVersion_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const oadrUpdatedReportType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_UPDATED_REPORT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/oadr_20b.cxx b/oadrsd/oadrsd/2b/oadr_20b.cxx new file mode 100644 index 0000000..ab6a85f --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_20b.cxx @@ -0,0 +1,28317 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_20b.hxx" + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::BaseUnitType > + _xsd_customUnit_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::CurrentType > + _xsd_current_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "current", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currency_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currency", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerKWh_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerKW_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerThm_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::FrequencyType > + _xsd_frequency_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "frequency", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::ThermType > + _xsd_Therm_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "Therm", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::temperatureType > + _xsd_temperature_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "temperature", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::pulseCountType > + _xsd_pulseCount_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::oadrPayloadResourceStatusType > + _xsd_oadrPayloadResourceStatus_element_factory_init ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::oadrGBStreamPayloadBase > + _xsd_oadrGBPayload_element_factory_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::oadrGBItemBase > + _xsd_oadrGBDataDescription_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::oadr::oadrReportPayloadType > + _xsd_oadrReportPayload_element_factory_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayload_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayload_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayload_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayload_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayload_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayload_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > ( + ::oadr2b::oadr::oadrPayload_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrPayload" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrPayload, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrPayload" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrPayload, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSignedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > ( + ::oadr2b::oadr::oadrSignedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrSignedObject" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrSignedObject, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrSignedObject" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrSignedObject, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDistributeEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > ( + ::oadr2b::oadr::oadrDistributeEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrDistributeEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrDistributeEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrDistributeEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrDistributeEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > ( + ::oadr2b::oadr::oadrCreatedEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > ( + ::oadr2b::oadr::oadrRequestEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRequestEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRequestEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRequestEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRequestEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponse (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponse (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > ( + ::oadr2b::oadr::oadrResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrResponseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > r ( + dynamic_cast< ::oadr2b::oadr::oadrResponseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrResponseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > r ( + dynamic_cast< ::oadr2b::oadr::oadrResponseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > ( + ::oadr2b::oadr::oadrCancelOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > ( + ::oadr2b::oadr::oadrCanceledOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > ( + ::oadr2b::oadr::oadrCreateOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreateOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreateOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreateOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreateOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedOpt (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > ( + ::oadr2b::oadr::oadrCreatedOpt ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedOptType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedOptType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > ( + ::oadr2b::oadr::oadrCancelReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > ( + ::oadr2b::oadr::oadrCanceledReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > ( + ::oadr2b::oadr::oadrCreateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreateReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreateReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreateReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreateReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > ( + ::oadr2b::oadr::oadrCreatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisterReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisterReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisterReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisterReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisterReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisterReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > ( + ::oadr2b::oadr::oadrRegisterReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRegisterReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRegisterReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRegisterReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRegisterReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRegisteredReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > ( + ::oadr2b::oadr::oadrRegisteredReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRegisteredReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRegisteredReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRegisteredReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRegisteredReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdateReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdateReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdateReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > ( + ::oadr2b::oadr::oadrUpdateReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrUpdateReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrUpdateReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrUpdateReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrUpdateReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrUpdatedReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > ( + ::oadr2b::oadr::oadrUpdatedReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrUpdatedReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrUpdatedReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrUpdatedReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrUpdatedReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCancelPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > ( + ::oadr2b::oadr::oadrCancelPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCancelPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCancelPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCanceledPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > ( + ::oadr2b::oadr::oadrCanceledPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCanceledPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCanceledPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatePartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatePartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatePartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatePartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatePartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatePartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrCreatedPartyRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > ( + ::oadr2b::oadr::oadrCreatedPartyRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrCreatedPartyRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrCreatedPartyRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestReregistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > ( + ::oadr2b::oadr::oadrRequestReregistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRequestReregistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRequestReregistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrRequestReregistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrRequestReregistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrQueryRegistration (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > ( + ::oadr2b::oadr::oadrQueryRegistration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrQueryRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrQueryRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrQueryRegistrationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > r ( + dynamic_cast< ::oadr2b::oadr::oadrQueryRegistrationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPoll (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPoll (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPoll (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPoll (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPoll (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPoll (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > ( + ::oadr2b::oadr::oadrPoll ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPollType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPollType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPollType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPollType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrVenName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrVenName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrVenName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrVenName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrVenName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrVenName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrVenName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfiles_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfiles_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfiles_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfiles_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfiles_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfiles_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > ( + ::oadr2b::oadr::oadrProfiles_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrProfiles" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrProfiles, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrProfiles" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrProfiles, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfileName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfileName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrProfileName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfileName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfileName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrProfileName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > ( + ::oadr2b::oadr::oadrProfileName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrProfileType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > r ( + dynamic_cast< ::oadr2b::oadr::oadrProfileType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrProfileType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > r ( + dynamic_cast< ::oadr2b::oadr::oadrProfileType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransports_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransports_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransports_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransports_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransports_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransports_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > ( + ::oadr2b::oadr::oadrTransports_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrTransports" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrTransports, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrTransports" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrTransports, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > ( + ::oadr2b::oadr::oadrTransportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrTransportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrTransportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrTransportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrTransportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrHttpPullModel (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrHttpPullModel ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrHttpPullModel" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrHttpPullModel", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrHttpPullModel" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrHttpPullModel", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceSpecificInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrServiceSpecificInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrServiceSpecificInfo, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceSpecificInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrServiceSpecificInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrServiceSpecificInfo, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceSpecificInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrServiceName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrServiceName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > ( + ::oadr2b::oadr::oadrServiceName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrServiceNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > r ( + dynamic_cast< ::oadr2b::oadr::oadrServiceNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrServiceNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > r ( + dynamic_cast< ::oadr2b::oadr::oadrServiceNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > ( + ::oadr2b::oadr::oadrInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrInfo, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > r ( + ::xsd::cxx::tree::traits< ::oadr2b::oadr::oadrInfo, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrXmlSignature (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrXmlSignature (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrXmlSignature (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrXmlSignature (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrXmlSignature (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrXmlSignature (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrXmlSignature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrXmlSignature" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrXmlSignature" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportOnly (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportOnly (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportOnly (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportOnly (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportOnly (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportOnly (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::oadr2b::oadr::oadrReportOnly ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrReportOnly" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "oadrReportOnly" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportAddress (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportAddress (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrTransportAddress (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportAddress (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportAddress (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrTransportAddress (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::oadr::oadrTransportAddress ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrRequestedOadrPollFreq (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponseRequired (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponseRequired (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrResponseRequired (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponseRequired (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponseRequired (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrResponseRequired (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > ( + ::oadr2b::oadr::oadrResponseRequired ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::ResponseRequiredType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > r ( + dynamic_cast< ::oadr2b::oadr::ResponseRequiredType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::ResponseRequiredType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > r ( + dynamic_cast< ::oadr2b::oadr::ResponseRequiredType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPendingReports (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPendingReports (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPendingReports (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPendingReports (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPendingReports (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPendingReports (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > ( + ::oadr2b::oadr::oadrPendingReports ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPendingReportsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPendingReportsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPendingReportsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPendingReportsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::customUnit (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::customUnit (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::customUnit (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::customUnit (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::customUnit (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::customUnit (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > ( + ::oadr2b::oadr::customUnit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::BaseUnitType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > r ( + dynamic_cast< ::oadr2b::oadr::BaseUnitType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::BaseUnitType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > r ( + dynamic_cast< ::oadr2b::oadr::BaseUnitType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::current (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::current (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::current (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::current (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::current (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::current (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::CurrentType > ( + ::oadr2b::oadr::current ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "current", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::CurrentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > r ( + dynamic_cast< ::oadr2b::oadr::CurrentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "current", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "current", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::CurrentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > r ( + dynamic_cast< ::oadr2b::oadr::CurrentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "current", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currency (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currency (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currency", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currency", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKWh (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKWh (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKWh (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKWh (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKWh (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKWh (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKWh ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKW (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKW (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerKW (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKW (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKW (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerKW (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerKW ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerThm (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerThm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::currencyPerThm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerThm (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerThm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::currencyPerThm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::currencyType > ( + ::oadr2b::oadr::currencyPerThm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::currencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > r ( + dynamic_cast< ::oadr2b::oadr::currencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::frequency (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::frequency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::frequency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::frequency (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::frequency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::frequency (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > ( + ::oadr2b::oadr::frequency ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "frequency", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::FrequencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > r ( + dynamic_cast< ::oadr2b::oadr::FrequencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "frequency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "frequency", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::FrequencyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > r ( + dynamic_cast< ::oadr2b::oadr::FrequencyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "frequency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::Therm (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::Therm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::Therm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::Therm (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::Therm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::Therm (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::ThermType > ( + ::oadr2b::oadr::Therm ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Therm", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::ThermType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::ThermType > r ( + dynamic_cast< ::oadr2b::oadr::ThermType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Therm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Therm", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::ThermType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > r ( + dynamic_cast< ::oadr2b::oadr::ThermType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Therm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::temperature (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::temperature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::temperature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::temperature (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::temperature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::temperature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::temperatureType > ( + ::oadr2b::oadr::temperature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "temperature", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::temperatureType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > r ( + dynamic_cast< ::oadr2b::oadr::temperatureType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "temperature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "temperature", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::temperatureType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > r ( + dynamic_cast< ::oadr2b::oadr::temperatureType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "temperature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseCount (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseCount (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseCount (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseCount (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseCount (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseCount (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > ( + ::oadr2b::oadr::pulseCount ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::pulseCountType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > r ( + dynamic_cast< ::oadr2b::oadr::pulseCountType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::pulseCountType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > r ( + dynamic_cast< ::oadr2b::oadr::pulseCountType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseFactor (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseFactor (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::pulseFactor (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseFactor (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseFactor (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::pulseFactor (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::float_ > ( + ::oadr2b::oadr::pulseFactor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "pulseFactor" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::float_ > r ( + new ::xml_schema::float_ ( + ::xsd::cxx::tree::traits< ::xml_schema::float_, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "pulseFactor" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + ::std::auto_ptr< ::xml_schema::float_ > r ( + new ::xml_schema::float_ ( + ::xsd::cxx::tree::traits< ::xml_schema::float_, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportRequest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportRequest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportRequest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportRequest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportRequest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportRequest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > ( + ::oadr2b::oadr::oadrReportRequest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportRequestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportRequestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportRequestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportRequestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReport (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReport (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > ( + ::oadr2b::oadr::oadrReport ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportDescription (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportDescription (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > ( + ::oadr2b::oadr::oadrReportDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportDescriptionType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportDescriptionType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportDescriptionType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportDescriptionType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSamplingRate (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSamplingRate (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrSamplingRate (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSamplingRate (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSamplingRate (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrSamplingRate (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > ( + ::oadr2b::oadr::oadrSamplingRate ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrSamplingRateType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > r ( + dynamic_cast< ::oadr2b::oadr::oadrSamplingRateType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrSamplingRateType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > r ( + dynamic_cast< ::oadr2b::oadr::oadrSamplingRateType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrPayloadResourceStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > ( + ::oadr2b::oadr::oadrPayloadResourceStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPayloadResourceStatusType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPayloadResourceStatusType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrPayloadResourceStatusType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > r ( + dynamic_cast< ::oadr2b::oadr::oadrPayloadResourceStatusType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrLoadControlState (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrLoadControlState (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrLoadControlState (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrLoadControlState (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrLoadControlState (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrLoadControlState (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > ( + ::oadr2b::oadr::oadrLoadControlState ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrLoadControlStateType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > r ( + dynamic_cast< ::oadr2b::oadr::oadrLoadControlStateType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrLoadControlStateType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > r ( + dynamic_cast< ::oadr2b::oadr::oadrLoadControlStateType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > ( + ::oadr2b::oadr::oadrGBPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrGBStreamPayloadBase >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > r ( + dynamic_cast< ::oadr2b::oadr::oadrGBStreamPayloadBase* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrGBStreamPayloadBase >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > r ( + dynamic_cast< ::oadr2b::oadr::oadrGBStreamPayloadBase* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrGBDataDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > ( + ::oadr2b::oadr::oadrGBDataDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrGBItemBase >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > r ( + dynamic_cast< ::oadr2b::oadr::oadrGBItemBase* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrGBItemBase >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > r ( + dynamic_cast< ::oadr2b::oadr::oadrGBItemBase* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDeviceClass (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDeviceClass (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDeviceClass (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDeviceClass (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDeviceClass (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDeviceClass (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::oadr::oadrDeviceClass ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrReportPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrReportPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > ( + ::oadr2b::oadr::oadrReportPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrReportPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > r ( + dynamic_cast< ::oadr2b::oadr::oadrReportPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDataQuality (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDataQuality (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::oadr::oadrDataQuality (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDataQuality (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDataQuality (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::oadr::oadrDataQuality (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > ( + ::oadr2b::oadr::oadrDataQuality ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrDataQualityTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > r ( + dynamic_cast< ::oadr2b::oadr::oadrDataQualityTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< ::oadr2b::oadr::oadrDataQualityTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > r ( + dynamic_cast< ::oadr2b::oadr::oadrDataQualityTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + oadrPayload_ (::std::ostream& o, + const ::oadr2b::oadr::oadrPayload& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPayload_ (::std::ostream& o, + const ::oadr2b::oadr::oadrPayload& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayload_ (::std::ostream& o, + const ::oadr2b::oadr::oadrPayload& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayload_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayload& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPayload_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayload& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayload_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayload& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayload_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayload_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPayload& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrPayload" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPayload_ (const ::oadr2b::oadr::oadrPayload& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrPayload", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrPayload_ (*d, s, f); + return d; + } + + void + oadrSignedObject_ (::std::ostream& o, + const ::oadr2b::oadr::oadrSignedObject& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrSignedObject_ (::std::ostream& o, + const ::oadr2b::oadr::oadrSignedObject& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSignedObject_ (::std::ostream& o, + const ::oadr2b::oadr::oadrSignedObject& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSignedObject& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSignedObject& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSignedObject& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSignedObject_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSignedObject_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrSignedObject& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrSignedObject" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrSignedObject_ (const ::oadr2b::oadr::oadrSignedObject& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrSignedObject", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrSignedObject_ (*d, s, f); + return d; + } + + void + oadrDistributeEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrDistributeEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDistributeEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrDistributeEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDistributeEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrDistributeEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDistributeEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDistributeEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDistributeEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDistributeEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDistributeEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrDistributeEventType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrDistributeEventType) == typeid (s)) + { + if (n.name () == "oadrDistributeEvent" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDistributeEvent (const ::oadr2b::oadr::oadrDistributeEventType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrDistributeEventType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDistributeEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrDistributeEvent (*d, s, f); + return d; + } + + void + oadrCreatedEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedEventType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreatedEventType) == typeid (s)) + { + if (n.name () == "oadrCreatedEvent" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedEvent (const ::oadr2b::oadr::oadrCreatedEventType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreatedEventType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreatedEvent (*d, s, f); + return d; + } + + void + oadrRequestEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestEvent (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRequestEventType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrRequestEventType) == typeid (s)) + { + if (n.name () == "oadrRequestEvent" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestEvent (const ::oadr2b::oadr::oadrRequestEventType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrRequestEventType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestEvent", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrRequestEvent (*d, s, f); + return d; + } + + void + oadrResponse (::std::ostream& o, + const ::oadr2b::oadr::oadrResponseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrResponse (::std::ostream& o, + const ::oadr2b::oadr::oadrResponseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponse (::std::ostream& o, + const ::oadr2b::oadr::oadrResponseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrResponseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrResponseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrResponseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponse (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponse (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrResponseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrResponseType) == typeid (s)) + { + if (n.name () == "oadrResponse" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrResponse (const ::oadr2b::oadr::oadrResponseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrResponseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrResponse", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrResponse (*d, s, f); + return d; + } + + void + oadrCancelOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelOptType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCancelOptType) == typeid (s)) + { + if (n.name () == "oadrCancelOpt" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelOpt (const ::oadr2b::oadr::oadrCancelOptType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCancelOptType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCancelOpt (*d, s, f); + return d; + } + + void + oadrCanceledOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledOptType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCanceledOptType) == typeid (s)) + { + if (n.name () == "oadrCanceledOpt" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledOpt (const ::oadr2b::oadr::oadrCanceledOptType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCanceledOptType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCanceledOpt (*d, s, f); + return d; + } + + void + oadrCreateOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreateOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreateOptType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreateOptType) == typeid (s)) + { + if (n.name () == "oadrCreateOpt" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreateOpt (const ::oadr2b::oadr::oadrCreateOptType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreateOptType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreateOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreateOpt (*d, s, f); + return d; + } + + void + oadrCreatedOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedOpt (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedOptType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedOptType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedOptType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedOpt (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedOptType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreatedOptType) == typeid (s)) + { + if (n.name () == "oadrCreatedOpt" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedOpt (const ::oadr2b::oadr::oadrCreatedOptType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreatedOptType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedOpt", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreatedOpt (*d, s, f); + return d; + } + + void + oadrCancelReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCancelReportType) == typeid (s)) + { + if (n.name () == "oadrCancelReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelReport (const ::oadr2b::oadr::oadrCancelReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCancelReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCancelReport (*d, s, f); + return d; + } + + void + oadrCanceledReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCanceledReportType) == typeid (s)) + { + if (n.name () == "oadrCanceledReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledReport (const ::oadr2b::oadr::oadrCanceledReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCanceledReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCanceledReport (*d, s, f); + return d; + } + + void + oadrCreateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreateReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreateReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreateReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreateReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreateReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreateReportType) == typeid (s)) + { + if (n.name () == "oadrCreateReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreateReport (const ::oadr2b::oadr::oadrCreateReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreateReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreateReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreateReport (*d, s, f); + return d; + } + + void + oadrCreatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreatedReportType) == typeid (s)) + { + if (n.name () == "oadrCreatedReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedReport (const ::oadr2b::oadr::oadrCreatedReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreatedReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreatedReport (*d, s, f); + return d; + } + + void + oadrRegisterReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisterReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRegisterReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisterReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisterReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisterReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisterReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisterReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisterReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisterReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisterReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRegisterReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrRegisterReportType) == typeid (s)) + { + if (n.name () == "oadrRegisterReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRegisterReport (const ::oadr2b::oadr::oadrRegisterReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrRegisterReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRegisterReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrRegisterReport (*d, s, f); + return d; + } + + void + oadrRegisteredReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRegisteredReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisteredReport (::std::ostream& o, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRegisteredReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRegisteredReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRegisteredReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrRegisteredReportType) == typeid (s)) + { + if (n.name () == "oadrRegisteredReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRegisteredReport (const ::oadr2b::oadr::oadrRegisteredReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrRegisteredReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRegisteredReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrRegisteredReport (*d, s, f); + return d; + } + + void + oadrUpdateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdateReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrUpdateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdateReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdateReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdateReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdateReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdateReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdateReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdateReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdateReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrUpdateReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrUpdateReportType) == typeid (s)) + { + if (n.name () == "oadrUpdateReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrUpdateReport (const ::oadr2b::oadr::oadrUpdateReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrUpdateReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrUpdateReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrUpdateReport (*d, s, f); + return d; + } + + void + oadrUpdatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrUpdatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdatedReport (::std::ostream& o, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrUpdatedReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrUpdatedReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrUpdatedReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrUpdatedReportType) == typeid (s)) + { + if (n.name () == "oadrUpdatedReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrUpdatedReport (const ::oadr2b::oadr::oadrUpdatedReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrUpdatedReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrUpdatedReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrUpdatedReport (*d, s, f); + return d; + } + + void + oadrCancelPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCancelPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCancelPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCancelPartyRegistrationType) == typeid (s)) + { + if (n.name () == "oadrCancelPartyRegistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelPartyRegistration (const ::oadr2b::oadr::oadrCancelPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCancelPartyRegistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCancelPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCancelPartyRegistration (*d, s, f); + return d; + } + + void + oadrCanceledPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCanceledPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCanceledPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCanceledPartyRegistrationType) == typeid (s)) + { + if (n.name () == "oadrCanceledPartyRegistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledPartyRegistration (const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCanceledPartyRegistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCanceledPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCanceledPartyRegistration (*d, s, f); + return d; + } + + void + oadrCreatePartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatePartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatePartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatePartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatePartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreatePartyRegistrationType) == typeid (s)) + { + if (n.name () == "oadrCreatePartyRegistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatePartyRegistration (const ::oadr2b::oadr::oadrCreatePartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreatePartyRegistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatePartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreatePartyRegistration (*d, s, f); + return d; + } + + void + oadrCreatedPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedPartyRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrCreatedPartyRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrCreatedPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrCreatedPartyRegistrationType) == typeid (s)) + { + if (n.name () == "oadrCreatedPartyRegistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedPartyRegistration (const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrCreatedPartyRegistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrCreatedPartyRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrCreatedPartyRegistration (*d, s, f); + return d; + } + + void + oadrRequestReregistration (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestReregistration (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestReregistration (::std::ostream& o, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestReregistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestReregistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRequestReregistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrRequestReregistrationType) == typeid (s)) + { + if (n.name () == "oadrRequestReregistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestReregistration (const ::oadr2b::oadr::oadrRequestReregistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrRequestReregistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestReregistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrRequestReregistration (*d, s, f); + return d; + } + + void + oadrQueryRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrQueryRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrQueryRegistration (::std::ostream& o, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrQueryRegistration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrQueryRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrQueryRegistrationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrQueryRegistrationType) == typeid (s)) + { + if (n.name () == "oadrQueryRegistration" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrQueryRegistration (const ::oadr2b::oadr::oadrQueryRegistrationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrQueryRegistrationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrQueryRegistration", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrQueryRegistration (*d, s, f); + return d; + } + + void + oadrPoll (::std::ostream& o, + const ::oadr2b::oadr::oadrPollType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPoll (::std::ostream& o, + const ::oadr2b::oadr::oadrPollType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPoll (::std::ostream& o, + const ::oadr2b::oadr::oadrPollType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPoll (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPollType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPoll (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPollType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPoll (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPollType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPoll (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPoll (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPollType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrPollType) == typeid (s)) + { + if (n.name () == "oadrPoll" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPoll (const ::oadr2b::oadr::oadrPollType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrPollType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPoll", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrPoll (*d, s, f); + return d; + } + + void + oadrVenName (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrVenName (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrVenName (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrVenName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrVenName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrVenName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrVenName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrVenName (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "oadrVenName" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrVenName (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrVenName", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrVenName (*d, s, f); + return d; + } + + void + oadrProfiles_ (::std::ostream& o, + const ::oadr2b::oadr::oadrProfiles& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrProfiles_ (::std::ostream& o, + const ::oadr2b::oadr::oadrProfiles& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfiles_ (::std::ostream& o, + const ::oadr2b::oadr::oadrProfiles& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfiles& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfiles& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfiles& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfiles_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfiles_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrProfiles& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrProfiles" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrProfiles_ (const ::oadr2b::oadr::oadrProfiles& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrProfiles", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrProfiles_ (*d, s, f); + return d; + } + + void + oadrProfileName (::std::ostream& o, + const ::oadr2b::oadr::oadrProfileType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrProfileName (::std::ostream& o, + const ::oadr2b::oadr::oadrProfileType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfileName (::std::ostream& o, + const ::oadr2b::oadr::oadrProfileType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfileName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfileType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrProfileName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfileType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfileName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrProfileType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrProfileName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrProfileName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrProfileType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrProfileType) == typeid (s)) + { + if (n.name () == "oadrProfileName" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrProfileName (const ::oadr2b::oadr::oadrProfileType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrProfileType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrProfileName", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrProfileName (*d, s, f); + return d; + } + + void + oadrTransports_ (::std::ostream& o, + const ::oadr2b::oadr::oadrTransports& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransports_ (::std::ostream& o, + const ::oadr2b::oadr::oadrTransports& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransports_ (::std::ostream& o, + const ::oadr2b::oadr::oadrTransports& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransports_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransports& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransports_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransports& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransports_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransports& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransports_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransports_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrTransports& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrTransports" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransports_ (const ::oadr2b::oadr::oadrTransports& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrTransports", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrTransports_ (*d, s, f); + return d; + } + + void + oadrTransportName (::std::ostream& o, + const ::oadr2b::oadr::oadrTransportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransportName (::std::ostream& o, + const ::oadr2b::oadr::oadrTransportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportName (::std::ostream& o, + const ::oadr2b::oadr::oadrTransportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrTransportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrTransportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrTransportType) == typeid (s)) + { + if (n.name () == "oadrTransportName" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransportName (const ::oadr2b::oadr::oadrTransportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrTransportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrTransportName", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrTransportName (*d, s, f); + return d; + } + + void + oadrHttpPullModel (::std::ostream& o, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrHttpPullModel (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrHttpPullModel (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrHttpPullModel (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrHttpPullModel (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrHttpPullModel" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrHttpPullModel", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrHttpPullModel (const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrHttpPullModel", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrHttpPullModel (*d, s, f); + return d; + } + + void + oadrServiceSpecificInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrServiceSpecificInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceSpecificInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceSpecificInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceSpecificInfo_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrServiceSpecificInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceSpecificInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrServiceSpecificInfo_ (const ::oadr2b::oadr::oadrServiceSpecificInfo& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrServiceSpecificInfo", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrServiceSpecificInfo_ (*d, s, f); + return d; + } + + void + oadrServiceName (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrServiceName (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceName (::std::ostream& o, + const ::oadr2b::oadr::oadrServiceNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrServiceName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrServiceNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrServiceName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrServiceName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrServiceNameType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrServiceNameType) == typeid (s)) + { + if (n.name () == "oadrServiceName" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrServiceName (const ::oadr2b::oadr::oadrServiceNameType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrServiceNameType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrServiceName", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrServiceName (*d, s, f); + return d; + } + + void + oadrInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrInfo_ (::std::ostream& o, + const ::oadr2b::oadr::oadrInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrInfo_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrInfo_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrInfo& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrInfo" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrInfo_ (const ::oadr2b::oadr::oadrInfo& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrInfo", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrInfo_ (*d, s, f); + return d; + } + + void + oadrXmlSignature (::std::ostream& o, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrXmlSignature (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrXmlSignature (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrXmlSignature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrXmlSignature (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrXmlSignature" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrXmlSignature (const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrXmlSignature", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrXmlSignature (*d, s, f); + return d; + } + + void + oadrReportOnly (::std::ostream& o, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportOnly (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportOnly (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportOnly (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportOnly (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportOnly (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportOnly (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportOnly (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "oadrReportOnly" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportOnly (const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "oadrReportOnly", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::oadrReportOnly (*d, s, f); + return d; + } + + void + oadrTransportAddress (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransportAddress (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportAddress (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrTransportAddress (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrTransportAddress (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "oadrTransportAddress" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransportAddress (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrTransportAddress", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrTransportAddress (*d, s, f); + return d; + } + + void + oadrRequestedOadrPollFreq (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestedOadrPollFreq (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestedOadrPollFreq (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrRequestedOadrPollFreq (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrRequestedOadrPollFreq (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "oadrRequestedOadrPollFreq" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestedOadrPollFreq (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrRequestedOadrPollFreq", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrRequestedOadrPollFreq (*d, s, f); + return d; + } + + void + oadrResponseRequired (::std::ostream& o, + const ::oadr2b::oadr::ResponseRequiredType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrResponseRequired (::std::ostream& o, + const ::oadr2b::oadr::ResponseRequiredType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponseRequired (::std::ostream& o, + const ::oadr2b::oadr::ResponseRequiredType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ResponseRequiredType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ResponseRequiredType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ResponseRequiredType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrResponseRequired (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrResponseRequired (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::ResponseRequiredType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::ResponseRequiredType) == typeid (s)) + { + if (n.name () == "oadrResponseRequired" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrResponseRequired (const ::oadr2b::oadr::ResponseRequiredType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::ResponseRequiredType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrResponseRequired", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrResponseRequired (*d, s, f); + return d; + } + + void + oadrPendingReports (::std::ostream& o, + const ::oadr2b::oadr::oadrPendingReportsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPendingReports (::std::ostream& o, + const ::oadr2b::oadr::oadrPendingReportsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPendingReports (::std::ostream& o, + const ::oadr2b::oadr::oadrPendingReportsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPendingReports (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPendingReportsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPendingReports (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPendingReportsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPendingReports (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPendingReportsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPendingReports (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPendingReports (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPendingReportsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrPendingReportsType) == typeid (s)) + { + if (n.name () == "oadrPendingReports" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPendingReports (const ::oadr2b::oadr::oadrPendingReportsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrPendingReportsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPendingReports", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrPendingReports (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::BaseUnitType > + _xsd_customUnit_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + customUnit (::std::ostream& o, + const ::oadr2b::oadr::BaseUnitType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + customUnit (::std::ostream& o, + const ::oadr2b::oadr::BaseUnitType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + customUnit (::std::ostream& o, + const ::oadr2b::oadr::BaseUnitType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + customUnit (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::BaseUnitType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + customUnit (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::BaseUnitType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + customUnit (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::BaseUnitType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::customUnit (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + customUnit (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::BaseUnitType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::BaseUnitType) == typeid (s)) + { + if (n.name () == "customUnit" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + customUnit (const ::oadr2b::oadr::BaseUnitType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::BaseUnitType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "customUnit", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::customUnit (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::CurrentType > + _xsd_current_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "current", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + current (::std::ostream& o, + const ::oadr2b::oadr::CurrentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + current (::std::ostream& o, + const ::oadr2b::oadr::CurrentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + current (::std::ostream& o, + const ::oadr2b::oadr::CurrentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + current (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::CurrentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + current (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::CurrentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + current (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::CurrentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::current (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + current (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::CurrentType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::CurrentType) == typeid (s)) + { + if (n.name () == "current" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "current", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "current", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + current (const ::oadr2b::oadr::CurrentType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::CurrentType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "current", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "current", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::current (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currency_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currency", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + currency (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currency (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currency (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currency (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currency (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + if (n.name () == "currency" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currency", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currency (const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "currency", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currency", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::currency (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerKWh_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + currencyPerKWh (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerKWh (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKWh (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKWh (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerKWh (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKWh (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKWh (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKWh (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + if (n.name () == "currencyPerKWh" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerKWh (const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerKWh", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::currencyPerKWh (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerKW_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + currencyPerKW (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerKW (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKW (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKW (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerKW (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKW (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerKW (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerKW (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + if (n.name () == "currencyPerKW" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerKW (const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerKW", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::currencyPerKW (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::currencyType > + _xsd_currencyPerThm_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + currencyPerThm (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerThm (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerThm (::std::ostream& o, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerThm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currencyPerThm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerThm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::currencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::currencyPerThm (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currencyPerThm (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + if (n.name () == "currencyPerThm" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerThm (const ::oadr2b::oadr::currencyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::currencyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currencyPerThm", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::currencyPerThm (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::FrequencyType > + _xsd_frequency_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "frequency", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + frequency (::std::ostream& o, + const ::oadr2b::oadr::FrequencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + frequency (::std::ostream& o, + const ::oadr2b::oadr::FrequencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + frequency (::std::ostream& o, + const ::oadr2b::oadr::FrequencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + frequency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::FrequencyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + frequency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::FrequencyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + frequency (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::FrequencyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::frequency (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + frequency (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::FrequencyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::FrequencyType) == typeid (s)) + { + if (n.name () == "frequency" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "frequency", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "frequency", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + frequency (const ::oadr2b::oadr::FrequencyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::FrequencyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "frequency", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "frequency", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::frequency (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::ThermType > + _xsd_Therm_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "Therm", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + Therm (::std::ostream& o, + const ::oadr2b::oadr::ThermType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Therm (::std::ostream& o, + const ::oadr2b::oadr::ThermType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Therm (::std::ostream& o, + const ::oadr2b::oadr::ThermType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Therm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ThermType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Therm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ThermType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Therm (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::ThermType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::Therm (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Therm (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::ThermType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::ThermType) == typeid (s)) + { + if (n.name () == "Therm" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Therm", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Therm", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Therm (const ::oadr2b::oadr::ThermType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::ThermType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Therm", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Therm", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::Therm (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::temperatureType > + _xsd_temperature_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "temperature", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + temperature (::std::ostream& o, + const ::oadr2b::oadr::temperatureType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + temperature (::std::ostream& o, + const ::oadr2b::oadr::temperatureType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + temperature (::std::ostream& o, + const ::oadr2b::oadr::temperatureType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + temperature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::temperatureType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + temperature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::temperatureType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + temperature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::temperatureType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::temperature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + temperature (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::temperatureType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::temperatureType) == typeid (s)) + { + if (n.name () == "temperature" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "temperature", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "temperature", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + temperature (const ::oadr2b::oadr::temperatureType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::temperatureType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "temperature", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "temperature", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::temperature (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::pulseCountType > + _xsd_pulseCount_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + pulseCount (::std::ostream& o, + const ::oadr2b::oadr::pulseCountType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pulseCount (::std::ostream& o, + const ::oadr2b::oadr::pulseCountType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseCount (::std::ostream& o, + const ::oadr2b::oadr::pulseCountType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseCount (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::pulseCountType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pulseCount (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::pulseCountType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseCount (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::pulseCountType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseCount (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseCount (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::pulseCountType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::pulseCountType) == typeid (s)) + { + if (n.name () == "pulseCount" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pulseCount (const ::oadr2b::oadr::pulseCountType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::pulseCountType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "pulseCount", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::pulseCount (*d, s, f); + return d; + } + + void + pulseFactor (::std::ostream& o, + const ::xml_schema::float_& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pulseFactor (::std::ostream& o, + const ::xml_schema::float_& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseFactor (::std::ostream& o, + const ::xml_schema::float_& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseFactor (::xercesc::XMLFormatTarget& t, + const ::xml_schema::float_& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pulseFactor (::xercesc::XMLFormatTarget& t, + const ::xml_schema::float_& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseFactor (::xercesc::XMLFormatTarget& t, + const ::xml_schema::float_& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::pulseFactor (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pulseFactor (::xercesc::DOMDocument& d, + const ::xml_schema::float_& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "pulseFactor" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pulseFactor (const ::xml_schema::float_& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07", + m, f)); + + ::oadr2b::oadr::pulseFactor (*d, s, f); + return d; + } + + void + oadrReportRequest (::std::ostream& o, + const ::oadr2b::oadr::oadrReportRequestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportRequest (::std::ostream& o, + const ::oadr2b::oadr::oadrReportRequestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportRequest (::std::ostream& o, + const ::oadr2b::oadr::oadrReportRequestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportRequest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportRequestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportRequest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportRequestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportRequest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportRequestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportRequest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportRequest (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportRequestType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrReportRequestType) == typeid (s)) + { + if (n.name () == "oadrReportRequest" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportRequest (const ::oadr2b::oadr::oadrReportRequestType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrReportRequestType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportRequest", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrReportRequest (*d, s, f); + return d; + } + + void + oadrReport (::std::ostream& o, + const ::oadr2b::oadr::oadrReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReport (::std::ostream& o, + const ::oadr2b::oadr::oadrReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReport (::std::ostream& o, + const ::oadr2b::oadr::oadrReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReport (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReport (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrReportType) == typeid (s)) + { + if (n.name () == "oadrReport" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReport (const ::oadr2b::oadr::oadrReportType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrReportType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReport", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrReport (*d, s, f); + return d; + } + + void + oadrReportDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportDescription (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportDescriptionType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrReportDescriptionType) == typeid (s)) + { + if (n.name () == "oadrReportDescription" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportDescription (const ::oadr2b::oadr::oadrReportDescriptionType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrReportDescriptionType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportDescription", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrReportDescription (*d, s, f); + return d; + } + + void + oadrSamplingRate (::std::ostream& o, + const ::oadr2b::oadr::oadrSamplingRateType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrSamplingRate (::std::ostream& o, + const ::oadr2b::oadr::oadrSamplingRateType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSamplingRate (::std::ostream& o, + const ::oadr2b::oadr::oadrSamplingRateType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSamplingRateType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSamplingRateType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrSamplingRateType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrSamplingRate (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrSamplingRate (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrSamplingRateType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrSamplingRateType) == typeid (s)) + { + if (n.name () == "oadrSamplingRate" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrSamplingRate (const ::oadr2b::oadr::oadrSamplingRateType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrSamplingRateType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrSamplingRate", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrSamplingRate (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::oadrPayloadResourceStatusType > + _xsd_oadrPayloadResourceStatus_element_serializer_init ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + oadrPayloadResourceStatus (::std::ostream& o, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPayloadResourceStatus (::std::ostream& o, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayloadResourceStatus (::std::ostream& o, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrPayloadResourceStatus (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrPayloadResourceStatus (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrPayloadResourceStatusType) == typeid (s)) + { + if (n.name () == "oadrPayloadResourceStatus" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPayloadResourceStatus (const ::oadr2b::oadr::oadrPayloadResourceStatusType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrPayloadResourceStatusType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrPayloadResourceStatus", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrPayloadResourceStatus (*d, s, f); + return d; + } + + void + oadrLoadControlState (::std::ostream& o, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrLoadControlState (::std::ostream& o, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrLoadControlState (::std::ostream& o, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrLoadControlState (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrLoadControlState (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrLoadControlStateType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrLoadControlStateType) == typeid (s)) + { + if (n.name () == "oadrLoadControlState" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrLoadControlState (const ::oadr2b::oadr::oadrLoadControlStateType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrLoadControlStateType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrLoadControlState", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrLoadControlState (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::oadrGBStreamPayloadBase > + _xsd_oadrGBPayload_element_serializer_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + oadrGBPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrGBPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrGBPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBPayload (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrGBStreamPayloadBase) == typeid (s)) + { + if (n.name () == "oadrGBPayload" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrGBPayload (const ::oadr2b::oadr::oadrGBStreamPayloadBase& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrGBStreamPayloadBase) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrGBPayload", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrGBPayload (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::oadrGBItemBase > + _xsd_oadrGBDataDescription_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + oadrGBDataDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrGBItemBase& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrGBDataDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrGBItemBase& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBDataDescription (::std::ostream& o, + const ::oadr2b::oadr::oadrGBItemBase& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBItemBase& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBItemBase& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrGBItemBase& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrGBDataDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrGBDataDescription (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrGBItemBase& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrGBItemBase) == typeid (s)) + { + if (n.name () == "oadrGBDataDescription" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrGBDataDescription (const ::oadr2b::oadr::oadrGBItemBase& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrGBItemBase) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrGBDataDescription", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrGBDataDescription (*d, s, f); + return d; + } + + void + oadrDeviceClass (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDeviceClass (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDeviceClass (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDeviceClass (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDeviceClass (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + if (n.name () == "oadrDeviceClass" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDeviceClass (const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDeviceClass", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrDeviceClass (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::oadr::oadrReportPayloadType > + _xsd_oadrReportPayload_element_serializer_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + + + void + oadrReportPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrReportPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrReportPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportPayload (::std::ostream& o, + const ::oadr2b::oadr::oadrReportPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrReportPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrReportPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrReportPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrReportPayload (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportPayloadType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrReportPayloadType) == typeid (s)) + { + if (n.name () == "oadrReportPayload" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportPayload (const ::oadr2b::oadr::oadrReportPayloadType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrReportPayloadType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrReportPayload", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrReportPayload (*d, s, f); + return d; + } + + void + oadrDataQuality (::std::ostream& o, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDataQuality (::std::ostream& o, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDataQuality (::std::ostream& o, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDataQuality (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + oadrDataQuality (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDataQuality (::xercesc::XMLFormatTarget& t, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::oadr::oadrDataQuality (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + oadrDataQuality (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrDataQualityTypeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::oadr::oadrDataQualityTypeType) == typeid (s)) + { + if (n.name () == "oadrDataQuality" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDataQuality (const ::oadr2b::oadr::oadrDataQualityTypeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::oadr::oadrDataQualityTypeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "oadrDataQuality", + "http://openadr.org/oadr-2.0b/2012/07", + m, s, f); + } + + ::oadr2b::oadr::oadrDataQuality (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_20b.hxx b/oadrsd/oadrsd/2b/oadr_20b.hxx new file mode 100644 index 0000000..0ba44ab --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_20b.hxx @@ -0,0 +1,10439 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_20B_HXX +#define OADR_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_strm_20b.hxx" + +#include "oadr_ei_20b.hxx" + +#include "oadr_pyld_20b.hxx" + +#include "oadr_emix_20b.hxx" + +#include "oadr_siscale_20b.hxx" + +#include "oadr_xcal_20b.hxx" + +#include "oadr_ISO_ISO3AlphaCurrencyCode_20100407.hxx" + +#include "oadr_greenbutton.hxx" + +#include "oadr_atom.hxx" + +#include "oadr_xmldsig11.hxx" + +#include "oadr_xmldsig.hxx" + +#include "oadrDistributeEventType.hxx" + +#include "oadrCreatedEventType.hxx" + +#include "oadrRequestEventType.hxx" + +#include "oadrResponseType.hxx" + +#include "oadrCancelOptType.hxx" + +#include "oadrCanceledOptType.hxx" + +#include "oadrCreateOptType.hxx" + +#include "oadrCreatedOptType.hxx" + +#include "oadrCancelReportType.hxx" + +#include "oadrCanceledReportType.hxx" + +#include "oadrCreateReportType.hxx" + +#include "oadrCreatedReportType.hxx" + +#include "oadrRegisterReportType.hxx" + +#include "oadrRegisteredReportType.hxx" + +#include "oadrUpdateReportType.hxx" + +#include "oadrUpdatedReportType.hxx" + +#include "oadrCancelPartyRegistrationType.hxx" + +#include "oadrCanceledPartyRegistrationType.hxx" + +#include "oadrCreatePartyRegistrationType.hxx" + +#include "oadrCreatedPartyRegistrationType.hxx" + +#include "oadrRequestReregistrationType.hxx" + +#include "oadrQueryRegistrationType.hxx" + +#include "oadrPollType.hxx" + +#include "oadrProfileType.hxx" + +#include "oadrTransportType.hxx" + +#include "oadrServiceNameType.hxx" + +#include "ResponseRequiredType.hxx" + +#include "oadrPendingReportsType.hxx" + +#include "BaseUnitType.hxx" + +#include "CurrentType.hxx" + +#include "currencyType.hxx" + +#include "currencyItemDescriptionType.hxx" + +#include "FrequencyType.hxx" + +#include "ThermType.hxx" + +#include "temperatureType.hxx" + +#include "temperatureUnitType.hxx" + +#include "pulseCountType.hxx" + +#include "oadrReportRequestType.hxx" + +#include "oadrReportType.hxx" + +#include "oadrReportDescriptionType.hxx" + +#include "oadrSamplingRateType.hxx" + +#include "oadrPayloadResourceStatusType.hxx" + +#include "oadrLoadControlStateType.hxx" + +#include "oadrLoadControlStateTypeType.hxx" + +#include "oadrGBItemBase.hxx" + +#include "oadrGBStreamPayloadBase.hxx" + +#include "oadrReportPayloadType.hxx" + +#include "oadrDataQualityTypeType.hxx" + +#include "oadrDataQualityType.hxx" + +#include "oadrPayload.hxx" + +#include "oadrSignedObject.hxx" + +#include "oadrEvent.hxx" + +#include "oadrExtensions.hxx" + +#include "oadrProfiles.hxx" + +#include "oadrTransports.hxx" + +#include "oadrServiceSpecificInfo.hxx" + +#include "oadrInfo.hxx" + +#include "oadrExtension.hxx" + +#include "oadrProfile.hxx" + +#include "oadrTransport.hxx" + +#include "oadrService.hxx" + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayload > + oadrPayload_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSignedObject > + oadrSignedObject_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDistributeEventType > + oadrDistributeEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedEventType > + oadrCreatedEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestEventType > + oadrRequestEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrResponseType > + oadrResponse (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelOptType > + oadrCancelOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledOptType > + oadrCanceledOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateOptType > + oadrCreateOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedOptType > + oadrCreatedOpt (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelReportType > + oadrCancelReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledReportType > + oadrCanceledReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreateReportType > + oadrCreateReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedReportType > + oadrCreatedReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisterReportType > + oadrRegisterReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRegisteredReportType > + oadrRegisteredReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdateReportType > + oadrUpdateReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrUpdatedReportType > + oadrUpdatedReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCancelPartyRegistrationType > + oadrCancelPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCanceledPartyRegistrationType > + oadrCanceledPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatePartyRegistrationType > + oadrCreatePartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrCreatedPartyRegistrationType > + oadrCreatedPartyRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrRequestReregistrationType > + oadrRequestReregistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrQueryRegistrationType > + oadrQueryRegistration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPollType > + oadrPoll (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrVenName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfiles > + oadrProfiles_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrProfileType > + oadrProfileName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransports > + oadrTransports_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrTransportType > + oadrTransportName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrHttpPullModel (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceSpecificInfo > + oadrServiceSpecificInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrServiceNameType > + oadrServiceName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrInfo > + oadrInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrXmlSignature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + oadrReportOnly (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + oadrTransportAddress (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + oadrRequestedOadrPollFreq (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ResponseRequiredType > + oadrResponseRequired (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPendingReportsType > + oadrPendingReports (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::BaseUnitType > + customUnit (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::CurrentType > + current (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currency (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKWh (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerKW (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::currencyType > + currencyPerThm (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::FrequencyType > + frequency (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::ThermType > + Therm (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::temperatureType > + temperature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::pulseCountType > + pulseCount (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::float_ > + pulseFactor (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportRequestType > + oadrReportRequest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportType > + oadrReport (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportDescriptionType > + oadrReportDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrSamplingRateType > + oadrSamplingRate (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrPayloadResourceStatusType > + oadrPayloadResourceStatus (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrLoadControlStateType > + oadrLoadControlState (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBStreamPayloadBase > + oadrGBPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrGBItemBase > + oadrGBDataDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + oadrDeviceClass (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrReportPayloadType > + oadrReportPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::oadr::oadrDataQualityTypeType > + oadrDataQuality (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + // Serialize to std::ostream. + // + + void + oadrPayload_ (::std::ostream& os, + const ::oadr2b::oadr::oadrPayload& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayload_ (::std::ostream& os, + const ::oadr2b::oadr::oadrPayload& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayload_ (::std::ostream& os, + const ::oadr2b::oadr::oadrPayload& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrPayload_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayload& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayload_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayload& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayload_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayload& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrPayload_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPayload& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPayload_ (const ::oadr2b::oadr::oadrPayload& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrSignedObject_ (::std::ostream& os, + const ::oadr2b::oadr::oadrSignedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSignedObject_ (::std::ostream& os, + const ::oadr2b::oadr::oadrSignedObject& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSignedObject_ (::std::ostream& os, + const ::oadr2b::oadr::oadrSignedObject& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSignedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSignedObject& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSignedObject_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSignedObject& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrSignedObject_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrSignedObject& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrSignedObject_ (const ::oadr2b::oadr::oadrSignedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrDistributeEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrDistributeEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDistributeEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrDistributeEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDistributeEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrDistributeEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDistributeEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDistributeEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDistributeEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDistributeEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrDistributeEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrDistributeEventType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDistributeEvent (const ::oadr2b::oadr::oadrDistributeEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreatedEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreatedEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedEventType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedEvent (const ::oadr2b::oadr::oadrCreatedEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrRequestEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestEvent (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrRequestEvent (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRequestEventType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestEvent (const ::oadr2b::oadr::oadrRequestEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrResponse (::std::ostream& os, + const ::oadr2b::oadr::oadrResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponse (::std::ostream& os, + const ::oadr2b::oadr::oadrResponseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponse (::std::ostream& os, + const ::oadr2b::oadr::oadrResponseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrResponseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrResponseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrResponse (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrResponseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrResponse (const ::oadr2b::oadr::oadrResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCancelOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCancelOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelOptType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelOpt (const ::oadr2b::oadr::oadrCancelOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCanceledOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCanceledOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledOptType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledOpt (const ::oadr2b::oadr::oadrCanceledOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreateOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreateOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreateOptType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreateOpt (const ::oadr2b::oadr::oadrCreateOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreatedOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedOpt (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedOptType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedOpt (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedOptType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreatedOpt (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedOptType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedOpt (const ::oadr2b::oadr::oadrCreatedOptType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCancelReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCancelReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCancelReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelReport (const ::oadr2b::oadr::oadrCancelReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCanceledReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCanceledReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledReport (const ::oadr2b::oadr::oadrCanceledReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreateReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreateReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreateReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreateReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreateReport (const ::oadr2b::oadr::oadrCreateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreatedReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedReport (const ::oadr2b::oadr::oadrCreatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrRegisterReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisterReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisterReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisterReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisterReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisterReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisterReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisterReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisterReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisterReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrRegisterReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRegisterReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRegisterReport (const ::oadr2b::oadr::oadrRegisterReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrRegisteredReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisteredReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisteredReport (::std::ostream& os, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRegisteredReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrRegisteredReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRegisteredReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRegisteredReport (const ::oadr2b::oadr::oadrRegisteredReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrUpdateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdateReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdateReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdateReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdateReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdateReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdateReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrUpdateReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrUpdateReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrUpdateReport (const ::oadr2b::oadr::oadrUpdateReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrUpdatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdatedReport (::std::ostream& os, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrUpdatedReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrUpdatedReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrUpdatedReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrUpdatedReport (const ::oadr2b::oadr::oadrUpdatedReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCancelPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCancelPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCancelPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCancelPartyRegistration (const ::oadr2b::oadr::oadrCancelPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCanceledPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCanceledPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCanceledPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCanceledPartyRegistration (const ::oadr2b::oadr::oadrCanceledPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreatePartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatePartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatePartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatePartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreatePartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatePartyRegistration (const ::oadr2b::oadr::oadrCreatePartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrCreatedPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedPartyRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrCreatedPartyRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrCreatedPartyRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrCreatedPartyRegistration (const ::oadr2b::oadr::oadrCreatedPartyRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrRequestReregistration (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestReregistration (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestReregistration (::std::ostream& os, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestReregistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrRequestReregistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrRequestReregistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestReregistration (const ::oadr2b::oadr::oadrRequestReregistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrQueryRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrQueryRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrQueryRegistration (::std::ostream& os, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrQueryRegistration (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrQueryRegistration (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrQueryRegistrationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrQueryRegistration (const ::oadr2b::oadr::oadrQueryRegistrationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrPoll (::std::ostream& os, + const ::oadr2b::oadr::oadrPollType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPoll (::std::ostream& os, + const ::oadr2b::oadr::oadrPollType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPoll (::std::ostream& os, + const ::oadr2b::oadr::oadrPollType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrPoll (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPollType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPoll (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPollType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPoll (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPollType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrPoll (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPollType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPoll (const ::oadr2b::oadr::oadrPollType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrVenName (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrVenName (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrVenName (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrVenName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrVenName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrVenName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrVenName (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrVenName (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrProfiles_ (::std::ostream& os, + const ::oadr2b::oadr::oadrProfiles& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfiles_ (::std::ostream& os, + const ::oadr2b::oadr::oadrProfiles& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfiles_ (::std::ostream& os, + const ::oadr2b::oadr::oadrProfiles& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfiles& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfiles& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfiles_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfiles& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrProfiles_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrProfiles& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrProfiles_ (const ::oadr2b::oadr::oadrProfiles& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrProfileName (::std::ostream& os, + const ::oadr2b::oadr::oadrProfileType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfileName (::std::ostream& os, + const ::oadr2b::oadr::oadrProfileType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfileName (::std::ostream& os, + const ::oadr2b::oadr::oadrProfileType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrProfileName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfileType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfileName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfileType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrProfileName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrProfileType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrProfileName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrProfileType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrProfileName (const ::oadr2b::oadr::oadrProfileType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrTransports_ (::std::ostream& os, + const ::oadr2b::oadr::oadrTransports& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransports_ (::std::ostream& os, + const ::oadr2b::oadr::oadrTransports& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransports_ (::std::ostream& os, + const ::oadr2b::oadr::oadrTransports& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrTransports_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransports& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransports_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransports& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransports_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransports& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrTransports_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrTransports& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransports_ (const ::oadr2b::oadr::oadrTransports& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrTransportName (::std::ostream& os, + const ::oadr2b::oadr::oadrTransportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportName (::std::ostream& os, + const ::oadr2b::oadr::oadrTransportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportName (::std::ostream& os, + const ::oadr2b::oadr::oadrTransportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrTransportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrTransportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrTransportName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrTransportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransportName (const ::oadr2b::oadr::oadrTransportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrHttpPullModel (::std::ostream& os, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrHttpPullModel (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrHttpPullModel (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrHttpPullModel (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrHttpPullModel (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrHttpPullModel (const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrServiceSpecificInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceSpecificInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceSpecificInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceSpecificInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrServiceSpecificInfo_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrServiceSpecificInfo_ (const ::oadr2b::oadr::oadrServiceSpecificInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrServiceName (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceName (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceName (::std::ostream& os, + const ::oadr2b::oadr::oadrServiceNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrServiceName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrServiceName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrServiceNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrServiceName (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrServiceNameType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrServiceName (const ::oadr2b::oadr::oadrServiceNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrInfo_ (::std::ostream& os, + const ::oadr2b::oadr::oadrInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrInfo_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrInfo_ (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrInfo& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrInfo_ (const ::oadr2b::oadr::oadrInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrXmlSignature (::std::ostream& os, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrXmlSignature (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrXmlSignature (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrXmlSignature (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrXmlSignature (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrXmlSignature (const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrReportOnly (::std::ostream& os, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportOnly (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportOnly (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrReportOnly (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportOnly (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportOnly (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrReportOnly (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportOnly (const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrTransportAddress (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportAddress (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportAddress (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrTransportAddress (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrTransportAddress (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrTransportAddress (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrRequestedOadrPollFreq (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestedOadrPollFreq (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestedOadrPollFreq (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrRequestedOadrPollFreq (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrRequestedOadrPollFreq (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrRequestedOadrPollFreq (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrResponseRequired (::std::ostream& os, + const ::oadr2b::oadr::ResponseRequiredType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponseRequired (::std::ostream& os, + const ::oadr2b::oadr::ResponseRequiredType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponseRequired (::std::ostream& os, + const ::oadr2b::oadr::ResponseRequiredType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ResponseRequiredType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ResponseRequiredType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrResponseRequired (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ResponseRequiredType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrResponseRequired (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::ResponseRequiredType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrResponseRequired (const ::oadr2b::oadr::ResponseRequiredType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrPendingReports (::std::ostream& os, + const ::oadr2b::oadr::oadrPendingReportsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPendingReports (::std::ostream& os, + const ::oadr2b::oadr::oadrPendingReportsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPendingReports (::std::ostream& os, + const ::oadr2b::oadr::oadrPendingReportsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrPendingReports (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPendingReportsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPendingReports (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPendingReportsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPendingReports (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPendingReportsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrPendingReports (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPendingReportsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPendingReports (const ::oadr2b::oadr::oadrPendingReportsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + customUnit (::std::ostream& os, + const ::oadr2b::oadr::BaseUnitType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + customUnit (::std::ostream& os, + const ::oadr2b::oadr::BaseUnitType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + customUnit (::std::ostream& os, + const ::oadr2b::oadr::BaseUnitType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + customUnit (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::BaseUnitType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + customUnit (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::BaseUnitType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + customUnit (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::BaseUnitType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + customUnit (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::BaseUnitType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + customUnit (const ::oadr2b::oadr::BaseUnitType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + current (::std::ostream& os, + const ::oadr2b::oadr::CurrentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + current (::std::ostream& os, + const ::oadr2b::oadr::CurrentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + current (::std::ostream& os, + const ::oadr2b::oadr::CurrentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + current (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::CurrentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + current (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::CurrentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + current (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::CurrentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + current (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::CurrentType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + current (const ::oadr2b::oadr::CurrentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + currency (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currency (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currency (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + currency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + currency (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currency (const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + currencyPerKWh (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKWh (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKWh (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + currencyPerKWh (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKWh (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKWh (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + currencyPerKWh (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerKWh (const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + currencyPerKW (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKW (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKW (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + currencyPerKW (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKW (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerKW (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + currencyPerKW (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerKW (const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + currencyPerThm (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerThm (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerThm (::std::ostream& os, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + currencyPerThm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerThm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currencyPerThm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::currencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + currencyPerThm (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::currencyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currencyPerThm (const ::oadr2b::oadr::currencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + frequency (::std::ostream& os, + const ::oadr2b::oadr::FrequencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + frequency (::std::ostream& os, + const ::oadr2b::oadr::FrequencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + frequency (::std::ostream& os, + const ::oadr2b::oadr::FrequencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + frequency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::FrequencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + frequency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::FrequencyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + frequency (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::FrequencyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + frequency (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::FrequencyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + frequency (const ::oadr2b::oadr::FrequencyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Therm (::std::ostream& os, + const ::oadr2b::oadr::ThermType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Therm (::std::ostream& os, + const ::oadr2b::oadr::ThermType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Therm (::std::ostream& os, + const ::oadr2b::oadr::ThermType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Therm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ThermType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Therm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ThermType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Therm (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::ThermType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Therm (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::ThermType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Therm (const ::oadr2b::oadr::ThermType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + temperature (::std::ostream& os, + const ::oadr2b::oadr::temperatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + temperature (::std::ostream& os, + const ::oadr2b::oadr::temperatureType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + temperature (::std::ostream& os, + const ::oadr2b::oadr::temperatureType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + temperature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::temperatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + temperature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::temperatureType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + temperature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::temperatureType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + temperature (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::temperatureType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + temperature (const ::oadr2b::oadr::temperatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + pulseCount (::std::ostream& os, + const ::oadr2b::oadr::pulseCountType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseCount (::std::ostream& os, + const ::oadr2b::oadr::pulseCountType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseCount (::std::ostream& os, + const ::oadr2b::oadr::pulseCountType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + pulseCount (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::pulseCountType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseCount (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::pulseCountType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseCount (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::pulseCountType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + pulseCount (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::pulseCountType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pulseCount (const ::oadr2b::oadr::pulseCountType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + pulseFactor (::std::ostream& os, + const ::xml_schema::float_& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseFactor (::std::ostream& os, + const ::xml_schema::float_& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseFactor (::std::ostream& os, + const ::xml_schema::float_& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + pulseFactor (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::float_& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseFactor (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::float_& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pulseFactor (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::float_& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + pulseFactor (::xercesc::DOMDocument& d, + const ::xml_schema::float_& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pulseFactor (const ::xml_schema::float_& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrReportRequest (::std::ostream& os, + const ::oadr2b::oadr::oadrReportRequestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportRequest (::std::ostream& os, + const ::oadr2b::oadr::oadrReportRequestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportRequest (::std::ostream& os, + const ::oadr2b::oadr::oadrReportRequestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrReportRequest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportRequestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportRequest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportRequestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportRequest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportRequestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrReportRequest (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportRequestType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportRequest (const ::oadr2b::oadr::oadrReportRequestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrReport (::std::ostream& os, + const ::oadr2b::oadr::oadrReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReport (::std::ostream& os, + const ::oadr2b::oadr::oadrReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReport (::std::ostream& os, + const ::oadr2b::oadr::oadrReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReport (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrReport (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReport (const ::oadr2b::oadr::oadrReportType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrReportDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrReportDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrReportDescription (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportDescriptionType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportDescription (const ::oadr2b::oadr::oadrReportDescriptionType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrSamplingRate (::std::ostream& os, + const ::oadr2b::oadr::oadrSamplingRateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSamplingRate (::std::ostream& os, + const ::oadr2b::oadr::oadrSamplingRateType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSamplingRate (::std::ostream& os, + const ::oadr2b::oadr::oadrSamplingRateType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSamplingRateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSamplingRateType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrSamplingRate (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrSamplingRateType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrSamplingRate (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrSamplingRateType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrSamplingRate (const ::oadr2b::oadr::oadrSamplingRateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrPayloadResourceStatus (::std::ostream& os, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayloadResourceStatus (::std::ostream& os, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayloadResourceStatus (::std::ostream& os, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrPayloadResourceStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrPayloadResourceStatus (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrPayloadResourceStatus (const ::oadr2b::oadr::oadrPayloadResourceStatusType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrLoadControlState (::std::ostream& os, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrLoadControlState (::std::ostream& os, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrLoadControlState (::std::ostream& os, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrLoadControlState (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrLoadControlState (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrLoadControlStateType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrLoadControlState (const ::oadr2b::oadr::oadrLoadControlStateType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrGBPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrGBPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrGBPayload (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrGBPayload (const ::oadr2b::oadr::oadrGBStreamPayloadBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrGBDataDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrGBItemBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBDataDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrGBItemBase& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBDataDescription (::std::ostream& os, + const ::oadr2b::oadr::oadrGBItemBase& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBItemBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBItemBase& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrGBDataDescription (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrGBItemBase& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrGBDataDescription (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrGBItemBase& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrGBDataDescription (const ::oadr2b::oadr::oadrGBItemBase& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrDeviceClass (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDeviceClass (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDeviceClass (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDeviceClass (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrDeviceClass (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDeviceClass (const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrReportPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrReportPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrReportPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportPayload (::std::ostream& os, + const ::oadr2b::oadr::oadrReportPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrReportPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrReportPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrReportPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrReportPayload (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrReportPayloadType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrReportPayload (const ::oadr2b::oadr::oadrReportPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + oadrDataQuality (::std::ostream& os, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDataQuality (::std::ostream& os, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDataQuality (::std::ostream& os, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + oadrDataQuality (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDataQuality (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + oadrDataQuality (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + oadrDataQuality (::xercesc::DOMDocument& d, + const ::oadr2b::oadr::oadrDataQualityTypeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + oadrDataQuality (const ::oadr2b::oadr::oadrDataQualityTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.cxx b/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.cxx new file mode 100644 index 0000000..5a215f0 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.cxx @@ -0,0 +1,549 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_ISO_ISO3AlphaCurrencyCode_20100407.hxx" + +namespace ISO42173A_2010_04_07 +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace ISO42173A_2010_04_07 +{ +} + +#include +#include +#include + +namespace ISO42173A_2010_04_07 +{ + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07", + &::xsd::cxx::tree::factory_impl< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > r ( + dynamic_cast< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07"); + } + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07", + &::xsd::cxx::tree::factory_impl< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > r ( + dynamic_cast< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace ISO42173A_2010_04_07 +{ + void + ISO3AlphaCurrencyCode (::std::ostream& o, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ISO3AlphaCurrencyCode (::std::ostream& o, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ISO3AlphaCurrencyCode (::std::ostream& o, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& t, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& t, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& t, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ISO3AlphaCurrencyCode (::xercesc::DOMDocument& d, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType) == typeid (s)) + { + if (n.name () == "ISO3AlphaCurrencyCode" && + n.namespace_ () == "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ISO3AlphaCurrencyCode (const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ISO3AlphaCurrencyCode", + "urn:un:unece:uncefact:codelist:standard:5:ISO42173A:2010-04-07", + m, s, f); + } + + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCode (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.hxx b/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.hxx new file mode 100644 index 0000000..220e793 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.hxx @@ -0,0 +1,464 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_ISO_ISO3ALPHA_CURRENCY_CODE_20100407_HXX +#define OADR_ISO_ISO3ALPHA_CURRENCY_CODE_20100407_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace ISO42173A_2010_04_07 +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ISO3AlphaCurrencyCodeContentType.hxx" + +namespace ISO42173A_2010_04_07 +{ +} + +#include + +#include +#include +#include + +namespace ISO42173A_2010_04_07 +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType > + ISO3AlphaCurrencyCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace ISO42173A_2010_04_07 +{ + // Serialize to std::ostream. + // + + void + ISO3AlphaCurrencyCode (::std::ostream& os, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ISO3AlphaCurrencyCode (::std::ostream& os, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ISO3AlphaCurrencyCode (::std::ostream& os, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& ft, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& ft, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ISO3AlphaCurrencyCode (::xercesc::XMLFormatTarget& ft, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ISO3AlphaCurrencyCode (::xercesc::DOMDocument& d, + const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ISO3AlphaCurrencyCode (const ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_ISO_ISO3ALPHA_CURRENCY_CODE_20100407_HXX diff --git a/oadrsd/oadrsd/2b/oadr_atom.cxx b/oadrsd/oadrsd/2b/oadr_atom.cxx new file mode 100644 index 0000000..2743039 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_atom.cxx @@ -0,0 +1,1007 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_atom.hxx" + +namespace Atom +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ +} + +#include +#include +#include + +namespace Atom +{ + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::feed (isrc, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::feed (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::feed (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::feed (isrc, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::feed (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::feed (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::Atom::feedType > ( + ::Atom::feed ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "feed", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< ::Atom::feedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::Atom::feedType > r ( + dynamic_cast< ::Atom::feedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "feed", + "http://www.w3.org/2005/Atom"); + } + + ::std::auto_ptr< ::Atom::feedType > + feed (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "feed", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< ::Atom::feedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::Atom::feedType > r ( + dynamic_cast< ::Atom::feedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "feed", + "http://www.w3.org/2005/Atom"); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::entry (isrc, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::entry (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::Atom::entry (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::entry (isrc, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::entry (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::Atom::entry (isrc, h, f, p); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::Atom::entryType > ( + ::Atom::entry ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "entry", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< ::Atom::entryType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::Atom::entryType > r ( + dynamic_cast< ::Atom::entryType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "entry", + "http://www.w3.org/2005/Atom"); + } + + ::std::auto_ptr< ::Atom::entryType > + entry (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "entry", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< ::Atom::entryType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::Atom::entryType > r ( + dynamic_cast< ::Atom::entryType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "entry", + "http://www.w3.org/2005/Atom"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + feed (::std::ostream& o, + const ::Atom::feedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + feed (::std::ostream& o, + const ::Atom::feedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + feed (::std::ostream& o, + const ::Atom::feedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + feed (::xercesc::XMLFormatTarget& t, + const ::Atom::feedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + feed (::xercesc::XMLFormatTarget& t, + const ::Atom::feedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + feed (::xercesc::XMLFormatTarget& t, + const ::Atom::feedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::feed (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + feed (::xercesc::DOMDocument& d, + const ::Atom::feedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::Atom::feedType) == typeid (s)) + { + if (n.name () == "feed" && + n.namespace_ () == "http://www.w3.org/2005/Atom") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "feed", + "http://www.w3.org/2005/Atom"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "feed", + "http://www.w3.org/2005/Atom", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + feed (const ::Atom::feedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::Atom::feedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "feed", + "http://www.w3.org/2005/Atom", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "feed", + "http://www.w3.org/2005/Atom", + m, s, f); + } + + ::Atom::feed (*d, s, f); + return d; + } + + void + entry (::std::ostream& o, + const ::Atom::entryType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + entry (::std::ostream& o, + const ::Atom::entryType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + entry (::std::ostream& o, + const ::Atom::entryType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + entry (::xercesc::XMLFormatTarget& t, + const ::Atom::entryType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + entry (::xercesc::XMLFormatTarget& t, + const ::Atom::entryType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + entry (::xercesc::XMLFormatTarget& t, + const ::Atom::entryType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::Atom::entry (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + entry (::xercesc::DOMDocument& d, + const ::Atom::entryType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::Atom::entryType) == typeid (s)) + { + if (n.name () == "entry" && + n.namespace_ () == "http://www.w3.org/2005/Atom") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "entry", + "http://www.w3.org/2005/Atom"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "entry", + "http://www.w3.org/2005/Atom", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + entry (const ::Atom::entryType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::Atom::entryType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "entry", + "http://www.w3.org/2005/Atom", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "entry", + "http://www.w3.org/2005/Atom", + m, s, f); + } + + ::Atom::entry (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_atom.hxx b/oadrsd/oadrsd/2b/oadr_atom.hxx new file mode 100644 index 0000000..0058525 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_atom.hxx @@ -0,0 +1,657 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_ATOM_HXX +#define OADR_ATOM_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_xml.hxx" + +#include "textType.hxx" + +#include "personType.hxx" + +#include "emailType.hxx" + +#include "feedType.hxx" + +#include "entryType.hxx" + +#include "contentType.hxx" + +#include "categoryType.hxx" + +#include "generatorType.hxx" + +#include "iconType.hxx" + +#include "idType.hxx" + +#include "linkType.hxx" + +#include "logoType.hxx" + +#include "sourceType.hxx" + +#include "uriType.hxx" + +#include "dateTimeType1.hxx" + +#include "type.hxx" + +namespace Atom +{ +} + +#include + +#include +#include +#include + +namespace Atom +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::Atom::feedType > + feed (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::feedType > + feed (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::Atom::entryType > + entry (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::Atom::entryType > + entry (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + // Serialize to std::ostream. + // + + void + feed (::std::ostream& os, + const ::Atom::feedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + feed (::std::ostream& os, + const ::Atom::feedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + feed (::std::ostream& os, + const ::Atom::feedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + feed (::xercesc::XMLFormatTarget& ft, + const ::Atom::feedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + feed (::xercesc::XMLFormatTarget& ft, + const ::Atom::feedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + feed (::xercesc::XMLFormatTarget& ft, + const ::Atom::feedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + feed (::xercesc::DOMDocument& d, + const ::Atom::feedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + feed (const ::Atom::feedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + entry (::std::ostream& os, + const ::Atom::entryType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + entry (::std::ostream& os, + const ::Atom::entryType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + entry (::std::ostream& os, + const ::Atom::entryType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + entry (::xercesc::XMLFormatTarget& ft, + const ::Atom::entryType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + entry (::xercesc::XMLFormatTarget& ft, + const ::Atom::entryType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + entry (::xercesc::XMLFormatTarget& ft, + const ::Atom::entryType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + entry (::xercesc::DOMDocument& d, + const ::Atom::entryType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + entry (const ::Atom::entryType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_ATOM_HXX diff --git a/oadrsd/oadrsd/2b/oadr_ei_20b.cxx b/oadrsd/oadrsd/2b/oadr_ei_20b.cxx new file mode 100644 index 0000000..82bcf4c --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_ei_20b.cxx @@ -0,0 +1,26591 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_ei_20b.hxx" + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::ei::PayloadFloatType > + _xsd_payloadFloat_element_factory_init ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::ei::signalPayloadType > + _xsd_signalPayload_element_factory_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::oadr2b::ei::UidType > + _xsd_refID_element_factory_init ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventStatus (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventStatus (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventStatus (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > ( + ::oadr2b::ei::eventStatus ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EventStatusEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::EventStatusEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EventStatusEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::EventStatusEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::resourceID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::resourceID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::resourceID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::resourceID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::resourceID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::resourceID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::resourceID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::partyID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::partyID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::partyID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::partyID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::partyID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::partyID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::partyID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::groupName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::groupName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::groupName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::venID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::venID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::venID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::venID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::venID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::venID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::venID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + venID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::vtnID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::vtnID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::vtnID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::vtnID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::vtnID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::vtnID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::vtnID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::modificationNumber (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::modificationNumber (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::modificationNumber (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::modificationNumber (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::modificationNumber (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::modificationNumber (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::modificationNumber ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "modificationNumber" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "modificationNumber" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::qualifiedEventID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::qualifiedEventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::qualifiedEventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::qualifiedEventID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::qualifiedEventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::qualifiedEventID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > ( + ::oadr2b::ei::qualifiedEventID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::QualifiedEventIDType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > r ( + dynamic_cast< ::oadr2b::ei::QualifiedEventIDType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::QualifiedEventIDType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > r ( + dynamic_cast< ::oadr2b::ei::QualifiedEventIDType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiNotification (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiNotification (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiNotification (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiNotification (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiNotification (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiNotification (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiNotification ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRampUp (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRampUp (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRampUp (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRampUp (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRampUp (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRampUp (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRampUp ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRecovery (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRecovery (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::x_eiRecovery (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRecovery (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRecovery (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::x_eiRecovery (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::oadr2b::ei::x_eiRecovery ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::interval (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::interval (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::IntervalType > ( + ::oadr2b::ei::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::IntervalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::IntervalType > r ( + dynamic_cast< ::oadr2b::ei::IntervalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::IntervalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > r ( + dynamic_cast< ::oadr2b::ei::IntervalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::currentValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::currentValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::currentValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::currentValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::currentValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::currentValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::currentValueType > ( + ::oadr2b::ei::currentValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::currentValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::currentValueType > r ( + dynamic_cast< ::oadr2b::ei::currentValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::currentValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > r ( + dynamic_cast< ::oadr2b::ei::currentValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadBase (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadBase (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > ( + ::oadr2b::ei::payloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::PayloadBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > r ( + dynamic_cast< ::oadr2b::ei::PayloadBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::PayloadBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > r ( + dynamic_cast< ::oadr2b::ei::PayloadBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadFloat (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadFloat (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::payloadFloat (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadFloat (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadFloat (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::payloadFloat (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > ( + ::oadr2b::ei::payloadFloat ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::PayloadFloatType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > r ( + dynamic_cast< ::oadr2b::ei::PayloadFloatType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::PayloadFloatType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > r ( + dynamic_cast< ::oadr2b::ei::PayloadFloatType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseCode (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseCode (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > ( + ::oadr2b::ei::responseCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ResponseCodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > r ( + dynamic_cast< ::oadr2b::ei::ResponseCodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ResponseCodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > r ( + dynamic_cast< ::oadr2b::ei::ResponseCodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseDescription (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responseDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseDescription (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responseDescription (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::responseDescription ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::OptTypeType > ( + ::oadr2b::ei::optType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > r ( + dynamic_cast< ::oadr2b::ei::OptTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > r ( + dynamic_cast< ::oadr2b::ei::OptTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiResponse (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiResponse (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiResponse (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EiResponseType > ( + ::oadr2b::ei::eiResponse ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiResponseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > r ( + dynamic_cast< ::oadr2b::ei::EiResponseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiResponseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > r ( + dynamic_cast< ::oadr2b::ei::EiResponseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventResponses_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventResponses_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventResponses_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventResponses_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventResponses_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventResponses_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eventResponses > ( + ::oadr2b::ei::eventResponses_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eventResponses" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::oadr2b::ei::eventResponses > r ( + ::xsd::cxx::tree::traits< ::oadr2b::ei::eventResponses, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "eventResponses" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::oadr2b::ei::eventResponses > r ( + ::xsd::cxx::tree::traits< ::oadr2b::ei::eventResponses, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEvent (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEvent (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventType > ( + ::oadr2b::ei::eiEvent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eiEventType > r ( + dynamic_cast< ::oadr2b::ei::eiEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > r ( + dynamic_cast< ::oadr2b::ei::eiEventType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiActivePeriod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiActivePeriod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiActivePeriod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiActivePeriod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiActivePeriod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiActivePeriod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > ( + ::oadr2b::ei::eiActivePeriod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiActivePeriodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > r ( + dynamic_cast< ::oadr2b::ei::eiActivePeriodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiActivePeriodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > r ( + dynamic_cast< ::oadr2b::ei::eiActivePeriodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > ( + ::oadr2b::ei::signalType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SignalTypeEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::SignalTypeEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SignalTypeEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::SignalTypeEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responses (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responses (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::responses (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responses (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responses (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::responses (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > ( + ::oadr2b::ei::responses ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ArrayofResponses >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > r ( + dynamic_cast< ::oadr2b::ei::ArrayofResponses* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ArrayofResponses >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > r ( + dynamic_cast< ::oadr2b::ei::ArrayofResponses* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventDescriptor (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventDescriptor (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eventDescriptor (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventDescriptor (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventDescriptor (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eventDescriptor (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > ( + ::oadr2b::ei::eventDescriptor ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eventDescriptorType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > r ( + dynamic_cast< ::oadr2b::ei::eventDescriptorType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eventDescriptorType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > r ( + dynamic_cast< ::oadr2b::ei::eventDescriptorType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > ( + ::oadr2b::ei::signalPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::signalPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > r ( + dynamic_cast< ::oadr2b::ei::signalPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::signalPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > r ( + dynamic_cast< ::oadr2b::ei::signalPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::createdDateTime (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::createdDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::createdDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::createdDateTime (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::createdDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::createdDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::createdDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiTarget (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiTarget (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiTarget (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiTarget (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiTarget (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiTarget (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::eiTarget ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignal (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignal (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignal (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignal (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignal (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignal (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > ( + ::oadr2b::ei::eiEventSignal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventSignalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > r ( + dynamic_cast< ::oadr2b::ei::eiEventSignalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventSignalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > r ( + dynamic_cast< ::oadr2b::ei::eiEventSignalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::signalName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::signalName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::signalNameType > ( + ::oadr2b::ei::signalName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::signalNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::signalNameType > r ( + dynamic_cast< ::oadr2b::ei::signalNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::signalNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > r ( + dynamic_cast< ::oadr2b::ei::signalNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::SignalNameEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::SignalNameEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::SignalNameEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::SignalNameEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::SignalNameEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::SignalNameEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > ( + ::oadr2b::ei::SignalNameEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SignalNameEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::SignalNameEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SignalNameEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::SignalNameEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignals (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignals (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventSignals (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignals (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignals (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventSignals (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > ( + ::oadr2b::ei::eiEventSignals ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventSignalsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > r ( + dynamic_cast< ::oadr2b::ei::eiEventSignalsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventSignalsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > r ( + dynamic_cast< ::oadr2b::ei::eiEventSignalsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventBaseline (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventBaseline (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiEventBaseline (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventBaseline (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventBaseline (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiEventBaseline (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > ( + ::oadr2b::ei::eiEventBaseline ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventBaselineType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > r ( + dynamic_cast< ::oadr2b::ei::eiEventBaselineType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::eiEventBaselineType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > r ( + dynamic_cast< ::oadr2b::ei::eiEventBaselineType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReason (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReason (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReason (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReason (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReason (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReason (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonType > ( + ::oadr2b::ei::optReason ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptReasonType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > r ( + dynamic_cast< ::oadr2b::ei::OptReasonType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptReasonType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > r ( + dynamic_cast< ::oadr2b::ei::OptReasonType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReasonEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReasonEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optReasonEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReasonEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReasonEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optReasonEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > ( + ::oadr2b::ei::optReasonEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptReasonEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::OptReasonEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::OptReasonEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::OptReasonEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::optID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::optID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::optID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + optID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiReportID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiReportID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::eiReportID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiReportID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiReportID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::eiReportID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::eiReportID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportRequestID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportRequestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportRequestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportRequestID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportRequestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportRequestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportRequestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifierID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifierID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifierID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifierID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifierID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifierID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::reportSpecifierID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportName (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportName (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::reportNameType > ( + ::oadr2b::ei::reportName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::reportNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::reportNameType > r ( + dynamic_cast< ::oadr2b::ei::reportNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::reportNameType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > r ( + dynamic_cast< ::oadr2b::ei::reportNameType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::rID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::rID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::rID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::rID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::rID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::rID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::ei::rID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::string > + rID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSubject (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSubject (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSubject (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSubject (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSubject (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSubject (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportSubject ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportDataSource (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportDataSource (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportDataSource (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportDataSource (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportDataSource (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportDataSource (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::EiTargetType > ( + ::oadr2b::ei::reportDataSource ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::EiTargetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > r ( + dynamic_cast< ::oadr2b::ei::EiTargetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::statusDateTime (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::statusDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::statusDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::statusDateTime (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::statusDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::statusDateTime (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::oadr2b::ei::statusDateTime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > ( + ::oadr2b::ei::reportType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > r ( + dynamic_cast< ::oadr2b::ei::ReportTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > r ( + dynamic_cast< ::oadr2b::ei::ReportTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > ( + ::oadr2b::ei::reportEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::ReportEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::ReportEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingType (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingType (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > ( + ::oadr2b::ei::readingType ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReadingTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > r ( + dynamic_cast< ::oadr2b::ei::ReadingTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReadingTypeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > r ( + dynamic_cast< ::oadr2b::ei::ReadingTypeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingTypeEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingTypeEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::readingTypeEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingTypeEnumerated (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingTypeEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::readingTypeEnumerated (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > ( + ::oadr2b::ei::readingTypeEnumerated ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReadingTypeEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::ReadingTypeEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReadingTypeEnumeratedType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > r ( + dynamic_cast< ::oadr2b::ei::ReadingTypeEnumeratedType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::confidence (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::confidence (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::confidence (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::confidence (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::confidence (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::confidence (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > ( + ::oadr2b::ei::confidence ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ConfidenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > r ( + dynamic_cast< ::oadr2b::ei::ConfidenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ConfidenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > r ( + dynamic_cast< ::oadr2b::ei::ConfidenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::accuracy (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::accuracy (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::accuracy (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::accuracy (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::accuracy (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::accuracy (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::AccuracyType > ( + ::oadr2b::ei::accuracy ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::AccuracyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > r ( + dynamic_cast< ::oadr2b::ei::AccuracyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::AccuracyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > r ( + dynamic_cast< ::oadr2b::ei::AccuracyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::numDataSources (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::numDataSources (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::numDataSources (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::numDataSources (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::numDataSources (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::numDataSources (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::oadr2b::ei::numDataSources ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "numDataSources" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "numDataSources", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "numDataSources" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "numDataSources", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifier (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifier (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::reportSpecifier (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifier (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifier (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::reportSpecifier (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > ( + ::oadr2b::ei::reportSpecifier ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportSpecifierType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > r ( + dynamic_cast< ::oadr2b::ei::ReportSpecifierType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::ReportSpecifierType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > r ( + dynamic_cast< ::oadr2b::ei::ReportSpecifierType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::specifierPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::specifierPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::specifierPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::specifierPayload (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::specifierPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::specifierPayload (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > ( + ::oadr2b::ei::specifierPayload ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SpecifierPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > r ( + dynamic_cast< ::oadr2b::ei::SpecifierPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::SpecifierPayloadType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > r ( + dynamic_cast< ::oadr2b::ei::SpecifierPayloadType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::registrationID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::registrationID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::registrationID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::registrationID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::registrationID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::registrationID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::registrationID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::refID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::refID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::refID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::refID (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::refID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::refID (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::refID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::uid (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::uid (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::ei::uid (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::uid (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::uid (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::ei::uid (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::ei::UidType > ( + ::oadr2b::ei::uid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< ::oadr2b::ei::UidType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::ei::UidType > r ( + dynamic_cast< ::oadr2b::ei::UidType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + eventStatus (::std::ostream& o, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventStatus (::std::ostream& o, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventStatus (::std::ostream& o, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventStatus (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventStatus (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventStatus (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EventStatusEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EventStatusEnumeratedType) == typeid (s)) + { + if (n.name () == "eventStatus" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventStatus (const ::oadr2b::ei::EventStatusEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EventStatusEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventStatus", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eventStatus (*d, s, f); + return d; + } + + void + resourceID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + resourceID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + resourceID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + resourceID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + resourceID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + resourceID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::resourceID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + resourceID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "resourceID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + resourceID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "resourceID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::resourceID (*d, s, f); + return d; + } + + void + groupID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + groupID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + groupID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "groupID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + groupID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "groupID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::groupID (*d, s, f); + return d; + } + + void + partyID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + partyID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + partyID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + partyID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + partyID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + partyID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::partyID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + partyID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "partyID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + partyID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "partyID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::partyID (*d, s, f); + return d; + } + + void + groupName (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + groupName (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupName (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + groupName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::groupName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + groupName (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "groupName" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + groupName (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "groupName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::groupName (*d, s, f); + return d; + } + + void + venID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + venID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + venID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + venID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + venID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + venID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::venID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + venID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "venID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + venID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "venID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::venID (*d, s, f); + return d; + } + + void + vtnID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + vtnID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vtnID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vtnID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + vtnID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vtnID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::vtnID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vtnID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "vtnID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + vtnID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "vtnID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::vtnID (*d, s, f); + return d; + } + + void + eventID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "eventID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eventID (*d, s, f); + return d; + } + + void + modificationNumber (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + modificationNumber (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + modificationNumber (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + modificationNumber (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + modificationNumber (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + modificationNumber (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::modificationNumber (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + modificationNumber (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "modificationNumber" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + modificationNumber (const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "modificationNumber", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f)); + + ::oadr2b::ei::modificationNumber (*d, s, f); + return d; + } + + void + qualifiedEventID (::std::ostream& o, + const ::oadr2b::ei::QualifiedEventIDType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + qualifiedEventID (::std::ostream& o, + const ::oadr2b::ei::QualifiedEventIDType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + qualifiedEventID (::std::ostream& o, + const ::oadr2b::ei::QualifiedEventIDType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + qualifiedEventID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::QualifiedEventIDType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + qualifiedEventID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::QualifiedEventIDType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + qualifiedEventID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::QualifiedEventIDType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::qualifiedEventID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + qualifiedEventID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::QualifiedEventIDType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::QualifiedEventIDType) == typeid (s)) + { + if (n.name () == "qualifiedEventID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + qualifiedEventID (const ::oadr2b::ei::QualifiedEventIDType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::QualifiedEventIDType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "qualifiedEventID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::qualifiedEventID (*d, s, f); + return d; + } + + void + x_eiNotification (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiNotification (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiNotification (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiNotification (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiNotification (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiNotification (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiNotification (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiNotification (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "x-eiNotification" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiNotification (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::x_eiNotification (*d, s, f); + return d; + } + + void + x_eiRampUp (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiRampUp (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRampUp (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRampUp (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiRampUp (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRampUp (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRampUp (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRampUp (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "x-eiRampUp" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiRampUp (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::x_eiRampUp (*d, s, f); + return d; + } + + void + x_eiRecovery (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiRecovery (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRecovery (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRecovery (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + x_eiRecovery (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRecovery (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::x_eiRecovery (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + x_eiRecovery (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "x-eiRecovery" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiRecovery (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::x_eiRecovery (*d, s, f); + return d; + } + + void + interval (::std::ostream& o, + const ::oadr2b::ei::IntervalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + interval (::std::ostream& o, + const ::oadr2b::ei::IntervalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::std::ostream& o, + const ::oadr2b::ei::IntervalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::IntervalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::IntervalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::IntervalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::interval (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::DOMDocument& d, + const ::oadr2b::ei::IntervalType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::IntervalType) == typeid (s)) + { + if (n.name () == "interval" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + interval (const ::oadr2b::ei::IntervalType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::IntervalType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "interval", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::interval (*d, s, f); + return d; + } + + void + currentValue (::std::ostream& o, + const ::oadr2b::ei::currentValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currentValue (::std::ostream& o, + const ::oadr2b::ei::currentValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currentValue (::std::ostream& o, + const ::oadr2b::ei::currentValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currentValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::currentValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + currentValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::currentValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currentValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::currentValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::currentValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + currentValue (::xercesc::DOMDocument& d, + const ::oadr2b::ei::currentValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::currentValueType) == typeid (s)) + { + if (n.name () == "currentValue" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currentValue (const ::oadr2b::ei::currentValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::currentValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "currentValue", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::currentValue (*d, s, f); + return d; + } + + void + payloadBase (::std::ostream& o, + const ::oadr2b::ei::PayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + payloadBase (::std::ostream& o, + const ::oadr2b::ei::PayloadBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadBase (::std::ostream& o, + const ::oadr2b::ei::PayloadBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + payloadBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadBase (::xercesc::DOMDocument& d, + const ::oadr2b::ei::PayloadBaseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::PayloadBaseType) == typeid (s)) + { + if (n.name () == "payloadBase" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + payloadBase (const ::oadr2b::ei::PayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::PayloadBaseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::payloadBase (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::ei::PayloadFloatType > + _xsd_payloadFloat_element_serializer_init ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + + + void + payloadFloat (::std::ostream& o, + const ::oadr2b::ei::PayloadFloatType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + payloadFloat (::std::ostream& o, + const ::oadr2b::ei::PayloadFloatType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadFloat (::std::ostream& o, + const ::oadr2b::ei::PayloadFloatType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadFloat (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadFloatType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + payloadFloat (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadFloatType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadFloat (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::PayloadFloatType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::payloadFloat (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + payloadFloat (::xercesc::DOMDocument& d, + const ::oadr2b::ei::PayloadFloatType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::PayloadFloatType) == typeid (s)) + { + if (n.name () == "payloadFloat" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + payloadFloat (const ::oadr2b::ei::PayloadFloatType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::PayloadFloatType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "payloadFloat", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::payloadFloat (*d, s, f); + return d; + } + + void + responseCode (::std::ostream& o, + const ::oadr2b::ei::ResponseCodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responseCode (::std::ostream& o, + const ::oadr2b::ei::ResponseCodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseCode (::std::ostream& o, + const ::oadr2b::ei::ResponseCodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseCode (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ResponseCodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responseCode (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ResponseCodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseCode (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ResponseCodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseCode (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ResponseCodeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ResponseCodeType) == typeid (s)) + { + if (n.name () == "responseCode" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responseCode (const ::oadr2b::ei::ResponseCodeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ResponseCodeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responseCode", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::responseCode (*d, s, f); + return d; + } + + void + responseDescription (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responseDescription (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseDescription (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseDescription (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responseDescription (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseDescription (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responseDescription (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responseDescription (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "responseDescription" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responseDescription (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responseDescription", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::responseDescription (*d, s, f); + return d; + } + + void + optType (::std::ostream& o, + const ::oadr2b::ei::OptTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optType (::std::ostream& o, + const ::oadr2b::ei::OptTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optType (::std::ostream& o, + const ::oadr2b::ei::OptTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptTypeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::OptTypeType) == typeid (s)) + { + if (n.name () == "optType" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optType (const ::oadr2b::ei::OptTypeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::OptTypeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::optType (*d, s, f); + return d; + } + + void + eiResponse (::std::ostream& o, + const ::oadr2b::ei::EiResponseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiResponse (::std::ostream& o, + const ::oadr2b::ei::EiResponseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiResponse (::std::ostream& o, + const ::oadr2b::ei::EiResponseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiResponseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiResponseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiResponse (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiResponseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiResponse (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiResponse (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiResponseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EiResponseType) == typeid (s)) + { + if (n.name () == "eiResponse" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiResponse (const ::oadr2b::ei::EiResponseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EiResponseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiResponse", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiResponse (*d, s, f); + return d; + } + + void + eventResponses_ (::std::ostream& o, + const ::oadr2b::ei::eventResponses& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventResponses_ (::std::ostream& o, + const ::oadr2b::ei::eventResponses& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventResponses_ (::std::ostream& o, + const ::oadr2b::ei::eventResponses& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventResponses_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventResponses& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventResponses_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventResponses& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventResponses_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventResponses& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventResponses_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventResponses_ (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eventResponses& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eventResponses" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventResponses_ (const ::oadr2b::ei::eventResponses& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "eventResponses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f)); + + ::oadr2b::ei::eventResponses_ (*d, s, f); + return d; + } + + void + eiEvent (::std::ostream& o, + const ::oadr2b::ei::eiEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEvent (::std::ostream& o, + const ::oadr2b::ei::eiEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEvent (::std::ostream& o, + const ::oadr2b::ei::eiEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEvent (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEvent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEvent (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eiEventType) == typeid (s)) + { + if (n.name () == "eiEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEvent (const ::oadr2b::ei::eiEventType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eiEventType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiEvent (*d, s, f); + return d; + } + + void + eiActivePeriod (::std::ostream& o, + const ::oadr2b::ei::eiActivePeriodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiActivePeriod (::std::ostream& o, + const ::oadr2b::ei::eiActivePeriodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiActivePeriod (::std::ostream& o, + const ::oadr2b::ei::eiActivePeriodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiActivePeriod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiActivePeriodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiActivePeriod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiActivePeriodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiActivePeriod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiActivePeriodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiActivePeriod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiActivePeriod (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiActivePeriodType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eiActivePeriodType) == typeid (s)) + { + if (n.name () == "eiActivePeriod" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiActivePeriod (const ::oadr2b::ei::eiActivePeriodType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eiActivePeriodType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiActivePeriod", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiActivePeriod (*d, s, f); + return d; + } + + void + signalType (::std::ostream& o, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalType (::std::ostream& o, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalType (::std::ostream& o, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SignalTypeEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::SignalTypeEnumeratedType) == typeid (s)) + { + if (n.name () == "signalType" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalType (const ::oadr2b::ei::SignalTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::SignalTypeEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::signalType (*d, s, f); + return d; + } + + void + responses (::std::ostream& o, + const ::oadr2b::ei::ArrayofResponses& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responses (::std::ostream& o, + const ::oadr2b::ei::ArrayofResponses& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responses (::std::ostream& o, + const ::oadr2b::ei::ArrayofResponses& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responses (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ArrayofResponses& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + responses (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ArrayofResponses& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responses (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ArrayofResponses& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::responses (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + responses (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ArrayofResponses& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ArrayofResponses) == typeid (s)) + { + if (n.name () == "responses" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responses (const ::oadr2b::ei::ArrayofResponses& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ArrayofResponses) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "responses", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::responses (*d, s, f); + return d; + } + + void + eventDescriptor (::std::ostream& o, + const ::oadr2b::ei::eventDescriptorType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventDescriptor (::std::ostream& o, + const ::oadr2b::ei::eventDescriptorType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventDescriptor (::std::ostream& o, + const ::oadr2b::ei::eventDescriptorType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventDescriptor (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventDescriptorType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eventDescriptor (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventDescriptorType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventDescriptor (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eventDescriptorType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eventDescriptor (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eventDescriptor (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eventDescriptorType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eventDescriptorType) == typeid (s)) + { + if (n.name () == "eventDescriptor" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventDescriptor (const ::oadr2b::ei::eventDescriptorType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eventDescriptorType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eventDescriptor", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eventDescriptor (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::ei::signalPayloadType > + _xsd_signalPayload_element_serializer_init ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + + + void + signalPayload (::std::ostream& o, + const ::oadr2b::ei::signalPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalPayload (::std::ostream& o, + const ::oadr2b::ei::signalPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalPayload (::std::ostream& o, + const ::oadr2b::ei::signalPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalPayload (::xercesc::DOMDocument& d, + const ::oadr2b::ei::signalPayloadType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::signalPayloadType) == typeid (s)) + { + if (n.name () == "signalPayload" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalPayload (const ::oadr2b::ei::signalPayloadType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::signalPayloadType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::signalPayload (*d, s, f); + return d; + } + + void + createdDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + createdDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + createdDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + createdDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + createdDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + createdDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::createdDateTime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + createdDateTime (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + if (n.name () == "createdDateTime" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + createdDateTime (const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "createdDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::createdDateTime (*d, s, f); + return d; + } + + void + eiTarget (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiTarget (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiTarget (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiTarget (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiTarget (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiTarget (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiTarget (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiTarget (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + if (n.name () == "eiTarget" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiTarget (const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiTarget", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiTarget (*d, s, f); + return d; + } + + void + eiEventSignal (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventSignal (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignal (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignal (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventSignal (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignal (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignal (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventSignalType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eiEventSignalType) == typeid (s)) + { + if (n.name () == "eiEventSignal" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventSignal (const ::oadr2b::ei::eiEventSignalType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eiEventSignalType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventSignal", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiEventSignal (*d, s, f); + return d; + } + + void + signalName (::std::ostream& o, + const ::oadr2b::ei::signalNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalName (::std::ostream& o, + const ::oadr2b::ei::signalNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalName (::std::ostream& o, + const ::oadr2b::ei::signalNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + signalName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::signalNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::signalName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + signalName (::xercesc::DOMDocument& d, + const ::oadr2b::ei::signalNameType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::signalNameType) == typeid (s)) + { + if (n.name () == "signalName" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalName (const ::oadr2b::ei::signalNameType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::signalNameType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "signalName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::signalName (*d, s, f); + return d; + } + + void + SignalNameEnumerated (::std::ostream& o, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignalNameEnumerated (::std::ostream& o, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignalNameEnumerated (::std::ostream& o, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::SignalNameEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignalNameEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SignalNameEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::SignalNameEnumeratedType) == typeid (s)) + { + if (n.name () == "SignalNameEnumerated" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignalNameEnumerated (const ::oadr2b::ei::SignalNameEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::SignalNameEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignalNameEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::SignalNameEnumerated (*d, s, f); + return d; + } + + void + eiEventSignals (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventSignals (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignals (::std::ostream& o, + const ::oadr2b::ei::eiEventSignalsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignals (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventSignals (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignals (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventSignalsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventSignals (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventSignals (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventSignalsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eiEventSignalsType) == typeid (s)) + { + if (n.name () == "eiEventSignals" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventSignals (const ::oadr2b::ei::eiEventSignalsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eiEventSignalsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventSignals", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiEventSignals (*d, s, f); + return d; + } + + void + eiEventBaseline (::std::ostream& o, + const ::oadr2b::ei::eiEventBaselineType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventBaseline (::std::ostream& o, + const ::oadr2b::ei::eiEventBaselineType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventBaseline (::std::ostream& o, + const ::oadr2b::ei::eiEventBaselineType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventBaseline (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventBaselineType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiEventBaseline (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventBaselineType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventBaseline (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::eiEventBaselineType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiEventBaseline (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiEventBaseline (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventBaselineType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::eiEventBaselineType) == typeid (s)) + { + if (n.name () == "eiEventBaseline" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventBaseline (const ::oadr2b::ei::eiEventBaselineType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::eiEventBaselineType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiEventBaseline", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiEventBaseline (*d, s, f); + return d; + } + + void + optReason (::std::ostream& o, + const ::oadr2b::ei::OptReasonType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optReason (::std::ostream& o, + const ::oadr2b::ei::OptReasonType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReason (::std::ostream& o, + const ::oadr2b::ei::OptReasonType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReason (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optReason (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReason (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReason (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReason (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptReasonType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::OptReasonType) == typeid (s)) + { + if (n.name () == "optReason" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optReason (const ::oadr2b::ei::OptReasonType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::OptReasonType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optReason", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::optReason (*d, s, f); + return d; + } + + void + optReasonEnumerated (::std::ostream& o, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optReasonEnumerated (::std::ostream& o, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReasonEnumerated (::std::ostream& o, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optReasonEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optReasonEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptReasonEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::OptReasonEnumeratedType) == typeid (s)) + { + if (n.name () == "optReasonEnumerated" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optReasonEnumerated (const ::oadr2b::ei::OptReasonEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::OptReasonEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optReasonEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::optReasonEnumerated (*d, s, f); + return d; + } + + void + optID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + optID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::optID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + optID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "optID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "optID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::optID (*d, s, f); + return d; + } + + void + eiReportID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiReportID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiReportID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiReportID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiReportID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiReportID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::eiReportID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiReportID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "eiReportID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiReportID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "eiReportID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::eiReportID (*d, s, f); + return d; + } + + void + reportRequestID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportRequestID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportRequestID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportRequestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportRequestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportRequestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportRequestID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportRequestID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "reportRequestID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportRequestID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportRequestID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportRequestID (*d, s, f); + return d; + } + + void + reportSpecifierID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSpecifierID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifierID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifierID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSpecifierID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifierID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifierID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifierID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "reportSpecifierID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSpecifierID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSpecifierID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportSpecifierID (*d, s, f); + return d; + } + + void + reportName (::std::ostream& o, + const ::oadr2b::ei::reportNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportName (::std::ostream& o, + const ::oadr2b::ei::reportNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportName (::std::ostream& o, + const ::oadr2b::ei::reportNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::reportNameType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::reportNameType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportName (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::reportNameType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportName (::xercesc::DOMDocument& d, + const ::oadr2b::ei::reportNameType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::reportNameType) == typeid (s)) + { + if (n.name () == "reportName" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportName (const ::oadr2b::ei::reportNameType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::reportNameType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportName", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportName (*d, s, f); + return d; + } + + void + rID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + rID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + rID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + rID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + rID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + rID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::rID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + rID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "rID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + rID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "rID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::rID (*d, s, f); + return d; + } + + void + reportSubject (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSubject (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSubject (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSubject (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSubject (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSubject (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSubject (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSubject (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + if (n.name () == "reportSubject" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSubject (const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSubject", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportSubject (*d, s, f); + return d; + } + + void + reportDataSource (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportDataSource (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportDataSource (::std::ostream& o, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportDataSource (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportDataSource (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportDataSource (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::EiTargetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportDataSource (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportDataSource (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + if (n.name () == "reportDataSource" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportDataSource (const ::oadr2b::ei::EiTargetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::EiTargetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportDataSource", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportDataSource (*d, s, f); + return d; + } + + void + statusDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + statusDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + statusDateTime (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + statusDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + statusDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + statusDateTime (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::statusDateTime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + statusDateTime (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + if (n.name () == "statusDateTime" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + statusDateTime (const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "statusDateTime", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::statusDateTime (*d, s, f); + return d; + } + + void + reportType (::std::ostream& o, + const ::oadr2b::ei::ReportTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportType (::std::ostream& o, + const ::oadr2b::ei::ReportTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportType (::std::ostream& o, + const ::oadr2b::ei::ReportTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportTypeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ReportTypeType) == typeid (s)) + { + if (n.name () == "reportType" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportType (const ::oadr2b::ei::ReportTypeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ReportTypeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportType (*d, s, f); + return d; + } + + void + reportEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReportEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReportEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReportEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ReportEnumeratedType) == typeid (s)) + { + if (n.name () == "reportEnumerated" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportEnumerated (const ::oadr2b::ei::ReportEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ReportEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportEnumerated (*d, s, f); + return d; + } + + void + readingType (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + readingType (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingType (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + readingType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingType (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingType (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReadingTypeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ReadingTypeType) == typeid (s)) + { + if (n.name () == "readingType" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + readingType (const ::oadr2b::ei::ReadingTypeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ReadingTypeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "readingType", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::readingType (*d, s, f); + return d; + } + + void + readingTypeEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + readingTypeEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingTypeEnumerated (::std::ostream& o, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::readingTypeEnumerated (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + readingTypeEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ReadingTypeEnumeratedType) == typeid (s)) + { + if (n.name () == "readingTypeEnumerated" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + readingTypeEnumerated (const ::oadr2b::ei::ReadingTypeEnumeratedType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ReadingTypeEnumeratedType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "readingTypeEnumerated", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::readingTypeEnumerated (*d, s, f); + return d; + } + + void + confidence (::std::ostream& o, + const ::oadr2b::ei::ConfidenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + confidence (::std::ostream& o, + const ::oadr2b::ei::ConfidenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + confidence (::std::ostream& o, + const ::oadr2b::ei::ConfidenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + confidence (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ConfidenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + confidence (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ConfidenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + confidence (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ConfidenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::confidence (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + confidence (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ConfidenceType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ConfidenceType) == typeid (s)) + { + if (n.name () == "confidence" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + confidence (const ::oadr2b::ei::ConfidenceType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ConfidenceType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "confidence", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::confidence (*d, s, f); + return d; + } + + void + accuracy (::std::ostream& o, + const ::oadr2b::ei::AccuracyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + accuracy (::std::ostream& o, + const ::oadr2b::ei::AccuracyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + accuracy (::std::ostream& o, + const ::oadr2b::ei::AccuracyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + accuracy (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::AccuracyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + accuracy (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::AccuracyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + accuracy (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::AccuracyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::accuracy (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + accuracy (::xercesc::DOMDocument& d, + const ::oadr2b::ei::AccuracyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::AccuracyType) == typeid (s)) + { + if (n.name () == "accuracy" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + accuracy (const ::oadr2b::ei::AccuracyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::AccuracyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "accuracy", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::accuracy (*d, s, f); + return d; + } + + void + numDataSources (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + numDataSources (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + numDataSources (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + numDataSources (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + numDataSources (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + numDataSources (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::numDataSources (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + numDataSources (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "numDataSources" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "numDataSources", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + numDataSources (const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "numDataSources", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f)); + + ::oadr2b::ei::numDataSources (*d, s, f); + return d; + } + + void + reportSpecifier (::std::ostream& o, + const ::oadr2b::ei::ReportSpecifierType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSpecifier (::std::ostream& o, + const ::oadr2b::ei::ReportSpecifierType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifier (::std::ostream& o, + const ::oadr2b::ei::ReportSpecifierType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifier (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportSpecifierType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportSpecifier (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportSpecifierType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifier (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::ReportSpecifierType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::reportSpecifier (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportSpecifier (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportSpecifierType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::ReportSpecifierType) == typeid (s)) + { + if (n.name () == "reportSpecifier" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSpecifier (const ::oadr2b::ei::ReportSpecifierType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::ReportSpecifierType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "reportSpecifier", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::reportSpecifier (*d, s, f); + return d; + } + + void + specifierPayload (::std::ostream& o, + const ::oadr2b::ei::SpecifierPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + specifierPayload (::std::ostream& o, + const ::oadr2b::ei::SpecifierPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + specifierPayload (::std::ostream& o, + const ::oadr2b::ei::SpecifierPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + specifierPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SpecifierPayloadType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + specifierPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SpecifierPayloadType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + specifierPayload (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::SpecifierPayloadType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::specifierPayload (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + specifierPayload (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SpecifierPayloadType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::SpecifierPayloadType) == typeid (s)) + { + if (n.name () == "specifierPayload" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + specifierPayload (const ::oadr2b::ei::SpecifierPayloadType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::SpecifierPayloadType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "specifierPayload", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::specifierPayload (*d, s, f); + return d; + } + + void + registrationID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + registrationID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + registrationID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + registrationID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + registrationID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + registrationID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::registrationID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + registrationID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + if (n.name () == "registrationID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + registrationID (const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "registrationID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::registrationID (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::oadr2b::ei::UidType > + _xsd_refID_element_serializer_init ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + + + void + refID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + refID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + refID (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + refID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + refID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + refID (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::refID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + refID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + if (n.name () == "refID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + refID (const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "refID", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::refID (*d, s, f); + return d; + } + + void + uid (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + uid (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid (::std::ostream& o, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + uid (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid (::xercesc::XMLFormatTarget& t, + const ::oadr2b::ei::UidType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::ei::uid (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + if (n.name () == "uid" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + uid (const ::oadr2b::ei::UidType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::ei::UidType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "uid", + "http://docs.oasis-open.org/ns/energyinterop/201110", + m, s, f); + } + + ::oadr2b::ei::uid (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_ei_20b.hxx b/oadrsd/oadrsd/2b/oadr_ei_20b.hxx new file mode 100644 index 0000000..2e45b10 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_ei_20b.hxx @@ -0,0 +1,9745 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_EI_20B_HXX +#define OADR_EI_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_power_20b.hxx" + +#include "oadr_xcal_20b.hxx" + +#include "oadr_strm_20b.hxx" + +#include "oadr_emix_20b.hxx" + +#include "oadr_pyld_20b.hxx" + +#include "EventStatusEnumeratedType.hxx" + +#include "EiExtensionTokenType.hxx" + +#include "QualifiedEventIDType.hxx" + +#include "IntervalType.hxx" + +#include "currentValueType.hxx" + +#include "PayloadBaseType.hxx" + +#include "PayloadFloatType.hxx" + +#include "ResponseCodeType.hxx" + +#include "OptTypeType.hxx" + +#include "EiResponseType.hxx" + +#include "eiEventType.hxx" + +#include "eiActivePeriodType.hxx" + +#include "SignalTypeEnumeratedType.hxx" + +#include "ArrayofResponses.hxx" + +#include "eventDescriptorType.hxx" + +#include "signalPayloadType.hxx" + +#include "EiTargetType.hxx" + +#include "eiEventSignalType.hxx" + +#include "signalNameType.hxx" + +#include "SignalNameEnumeratedType.hxx" + +#include "eiEventSignalsType.hxx" + +#include "eiEventBaselineType.hxx" + +#include "EiOptType.hxx" + +#include "OptReasonType.hxx" + +#include "OptReasonEnumeratedType.hxx" + +#include "reportNameType.hxx" + +#include "reportNameEnumeratedType.hxx" + +#include "ReportTypeType.hxx" + +#include "ReportEnumeratedType.hxx" + +#include "ReadingTypeType.hxx" + +#include "ReadingTypeEnumeratedType.hxx" + +#include "ConfidenceType.hxx" + +#include "AccuracyType.hxx" + +#include "ReportPayloadType.hxx" + +#include "ReportSpecifierType.hxx" + +#include "SpecifierPayloadType.hxx" + +#include "UidType.hxx" + +#include "schemaVersionType.hxx" + +#include "schemaVersionEnumeratedType.hxx" + +#include "eventResponses.hxx" + +#include "eiMarketContext.hxx" + +#include "eventResponse.hxx" + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EventStatusEnumeratedType > + eventStatus (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + resourceID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + resourceID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + groupID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + partyID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + partyID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + groupName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + groupName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + venID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + venID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + vtnID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + vtnID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + eventID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eventID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + modificationNumber (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::QualifiedEventIDType > + qualifiedEventID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiNotification (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRampUp (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + x_eiRecovery (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::IntervalType > + interval (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::currentValueType > + currentValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadBaseType > + payloadBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::PayloadFloatType > + payloadFloat (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ResponseCodeType > + responseCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + responseDescription (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptTypeType > + optType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiResponseType > + eiResponse (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventResponses > + eventResponses_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventType > + eiEvent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiActivePeriodType > + eiActivePeriod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalTypeEnumeratedType > + signalType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ArrayofResponses > + responses (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eventDescriptorType > + eventDescriptor (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalPayloadType > + signalPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + createdDateTime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + eiTarget (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalType > + eiEventSignal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::signalNameType > + signalName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SignalNameEnumeratedType > + SignalNameEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventSignalsType > + eiEventSignals (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::eiEventBaselineType > + eiEventBaseline (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonType > + optReason (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::OptReasonEnumeratedType > + optReasonEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + optID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + optID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + eiReportID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportRequestID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + reportSpecifierID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::reportNameType > + reportName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + rID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + rID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportSubject (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::EiTargetType > + reportDataSource (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + statusDateTime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportTypeType > + reportType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportEnumeratedType > + reportEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeType > + readingType (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReadingTypeEnumeratedType > + readingTypeEnumerated (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ConfidenceType > + confidence (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::AccuracyType > + accuracy (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + numDataSources (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::ReportSpecifierType > + reportSpecifier (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::SpecifierPayloadType > + specifierPayload (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + registrationID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + refID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::ei::UidType > + uid (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + // Serialize to std::ostream. + // + + void + eventStatus (::std::ostream& os, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventStatus (::std::ostream& os, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventStatus (::std::ostream& os, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eventStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventStatus (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eventStatus (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EventStatusEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventStatus (const ::oadr2b::ei::EventStatusEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + resourceID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + resourceID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + resourceID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + resourceID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + resourceID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + resourceID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + resourceID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + resourceID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + groupID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + groupID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + groupID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + groupID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + partyID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + partyID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + partyID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + partyID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + partyID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + partyID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + partyID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + partyID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + groupName (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupName (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupName (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + groupName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + groupName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + groupName (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + groupName (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + venID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + venID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + venID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + venID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + venID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + venID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + venID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + venID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + vtnID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vtnID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vtnID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + vtnID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vtnID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vtnID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + vtnID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + vtnID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eventID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eventID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eventID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + modificationNumber (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + modificationNumber (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + modificationNumber (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + modificationNumber (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + modificationNumber (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + modificationNumber (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + modificationNumber (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + modificationNumber (const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + qualifiedEventID (::std::ostream& os, + const ::oadr2b::ei::QualifiedEventIDType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + qualifiedEventID (::std::ostream& os, + const ::oadr2b::ei::QualifiedEventIDType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + qualifiedEventID (::std::ostream& os, + const ::oadr2b::ei::QualifiedEventIDType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + qualifiedEventID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::QualifiedEventIDType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + qualifiedEventID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::QualifiedEventIDType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + qualifiedEventID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::QualifiedEventIDType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + qualifiedEventID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::QualifiedEventIDType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + qualifiedEventID (const ::oadr2b::ei::QualifiedEventIDType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + x_eiNotification (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiNotification (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiNotification (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + x_eiNotification (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiNotification (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiNotification (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + x_eiNotification (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiNotification (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + x_eiRampUp (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRampUp (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRampUp (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + x_eiRampUp (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRampUp (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRampUp (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + x_eiRampUp (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiRampUp (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + x_eiRecovery (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRecovery (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRecovery (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + x_eiRecovery (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRecovery (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + x_eiRecovery (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + x_eiRecovery (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + x_eiRecovery (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + interval (::std::ostream& os, + const ::oadr2b::ei::IntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::std::ostream& os, + const ::oadr2b::ei::IntervalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::std::ostream& os, + const ::oadr2b::ei::IntervalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::IntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::IntervalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::IntervalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + interval (::xercesc::DOMDocument& d, + const ::oadr2b::ei::IntervalType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + interval (const ::oadr2b::ei::IntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + currentValue (::std::ostream& os, + const ::oadr2b::ei::currentValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currentValue (::std::ostream& os, + const ::oadr2b::ei::currentValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currentValue (::std::ostream& os, + const ::oadr2b::ei::currentValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + currentValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::currentValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currentValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::currentValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + currentValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::currentValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + currentValue (::xercesc::DOMDocument& d, + const ::oadr2b::ei::currentValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + currentValue (const ::oadr2b::ei::currentValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + payloadBase (::std::ostream& os, + const ::oadr2b::ei::PayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadBase (::std::ostream& os, + const ::oadr2b::ei::PayloadBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadBase (::std::ostream& os, + const ::oadr2b::ei::PayloadBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + payloadBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + payloadBase (::xercesc::DOMDocument& d, + const ::oadr2b::ei::PayloadBaseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + payloadBase (const ::oadr2b::ei::PayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + payloadFloat (::std::ostream& os, + const ::oadr2b::ei::PayloadFloatType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadFloat (::std::ostream& os, + const ::oadr2b::ei::PayloadFloatType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadFloat (::std::ostream& os, + const ::oadr2b::ei::PayloadFloatType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + payloadFloat (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadFloatType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadFloat (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadFloatType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + payloadFloat (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::PayloadFloatType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + payloadFloat (::xercesc::DOMDocument& d, + const ::oadr2b::ei::PayloadFloatType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + payloadFloat (const ::oadr2b::ei::PayloadFloatType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + responseCode (::std::ostream& os, + const ::oadr2b::ei::ResponseCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseCode (::std::ostream& os, + const ::oadr2b::ei::ResponseCodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseCode (::std::ostream& os, + const ::oadr2b::ei::ResponseCodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + responseCode (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ResponseCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseCode (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ResponseCodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseCode (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ResponseCodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + responseCode (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ResponseCodeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responseCode (const ::oadr2b::ei::ResponseCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + responseDescription (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseDescription (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseDescription (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + responseDescription (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseDescription (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responseDescription (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + responseDescription (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responseDescription (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + optType (::std::ostream& os, + const ::oadr2b::ei::OptTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optType (::std::ostream& os, + const ::oadr2b::ei::OptTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optType (::std::ostream& os, + const ::oadr2b::ei::OptTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + optType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + optType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptTypeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optType (const ::oadr2b::ei::OptTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiResponse (::std::ostream& os, + const ::oadr2b::ei::EiResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiResponse (::std::ostream& os, + const ::oadr2b::ei::EiResponseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiResponse (::std::ostream& os, + const ::oadr2b::ei::EiResponseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiResponseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiResponse (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiResponseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiResponse (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiResponseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiResponse (const ::oadr2b::ei::EiResponseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eventResponses_ (::std::ostream& os, + const ::oadr2b::ei::eventResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventResponses_ (::std::ostream& os, + const ::oadr2b::ei::eventResponses& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventResponses_ (::std::ostream& os, + const ::oadr2b::ei::eventResponses& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eventResponses_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventResponses_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventResponses& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventResponses_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventResponses& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eventResponses_ (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eventResponses& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventResponses_ (const ::oadr2b::ei::eventResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiEvent (::std::ostream& os, + const ::oadr2b::ei::eiEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEvent (::std::ostream& os, + const ::oadr2b::ei::eiEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEvent (::std::ostream& os, + const ::oadr2b::ei::eiEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEvent (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiEvent (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEvent (const ::oadr2b::ei::eiEventType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiActivePeriod (::std::ostream& os, + const ::oadr2b::ei::eiActivePeriodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiActivePeriod (::std::ostream& os, + const ::oadr2b::ei::eiActivePeriodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiActivePeriod (::std::ostream& os, + const ::oadr2b::ei::eiActivePeriodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiActivePeriod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiActivePeriodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiActivePeriod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiActivePeriodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiActivePeriod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiActivePeriodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiActivePeriod (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiActivePeriodType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiActivePeriod (const ::oadr2b::ei::eiActivePeriodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + signalType (::std::ostream& os, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalType (::std::ostream& os, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalType (::std::ostream& os, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + signalType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + signalType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SignalTypeEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalType (const ::oadr2b::ei::SignalTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + responses (::std::ostream& os, + const ::oadr2b::ei::ArrayofResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responses (::std::ostream& os, + const ::oadr2b::ei::ArrayofResponses& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responses (::std::ostream& os, + const ::oadr2b::ei::ArrayofResponses& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + responses (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ArrayofResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responses (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ArrayofResponses& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + responses (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ArrayofResponses& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + responses (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ArrayofResponses& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + responses (const ::oadr2b::ei::ArrayofResponses& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eventDescriptor (::std::ostream& os, + const ::oadr2b::ei::eventDescriptorType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventDescriptor (::std::ostream& os, + const ::oadr2b::ei::eventDescriptorType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventDescriptor (::std::ostream& os, + const ::oadr2b::ei::eventDescriptorType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eventDescriptor (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventDescriptorType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventDescriptor (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventDescriptorType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eventDescriptor (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eventDescriptorType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eventDescriptor (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eventDescriptorType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eventDescriptor (const ::oadr2b::ei::eventDescriptorType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + signalPayload (::std::ostream& os, + const ::oadr2b::ei::signalPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalPayload (::std::ostream& os, + const ::oadr2b::ei::signalPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalPayload (::std::ostream& os, + const ::oadr2b::ei::signalPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + signalPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + signalPayload (::xercesc::DOMDocument& d, + const ::oadr2b::ei::signalPayloadType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalPayload (const ::oadr2b::ei::signalPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + createdDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + createdDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + createdDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + createdDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + createdDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + createdDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + createdDateTime (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + createdDateTime (const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiTarget (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiTarget (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiTarget (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiTarget (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiTarget (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiTarget (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiTarget (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiTarget (const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiEventSignal (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignal (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignal (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiEventSignal (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignal (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignal (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiEventSignal (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventSignalType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventSignal (const ::oadr2b::ei::eiEventSignalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + signalName (::std::ostream& os, + const ::oadr2b::ei::signalNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalName (::std::ostream& os, + const ::oadr2b::ei::signalNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalName (::std::ostream& os, + const ::oadr2b::ei::signalNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + signalName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + signalName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::signalNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + signalName (::xercesc::DOMDocument& d, + const ::oadr2b::ei::signalNameType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + signalName (const ::oadr2b::ei::signalNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignalNameEnumerated (::std::ostream& os, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignalNameEnumerated (::std::ostream& os, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignalNameEnumerated (::std::ostream& os, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignalNameEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignalNameEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SignalNameEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignalNameEnumerated (const ::oadr2b::ei::SignalNameEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiEventSignals (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignals (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignals (::std::ostream& os, + const ::oadr2b::ei::eiEventSignalsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiEventSignals (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignals (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventSignals (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventSignalsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiEventSignals (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventSignalsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventSignals (const ::oadr2b::ei::eiEventSignalsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiEventBaseline (::std::ostream& os, + const ::oadr2b::ei::eiEventBaselineType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventBaseline (::std::ostream& os, + const ::oadr2b::ei::eiEventBaselineType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventBaseline (::std::ostream& os, + const ::oadr2b::ei::eiEventBaselineType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiEventBaseline (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventBaselineType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventBaseline (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventBaselineType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiEventBaseline (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::eiEventBaselineType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiEventBaseline (::xercesc::DOMDocument& d, + const ::oadr2b::ei::eiEventBaselineType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiEventBaseline (const ::oadr2b::ei::eiEventBaselineType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + optReason (::std::ostream& os, + const ::oadr2b::ei::OptReasonType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReason (::std::ostream& os, + const ::oadr2b::ei::OptReasonType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReason (::std::ostream& os, + const ::oadr2b::ei::OptReasonType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + optReason (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReason (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReason (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + optReason (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptReasonType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optReason (const ::oadr2b::ei::OptReasonType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + optReasonEnumerated (::std::ostream& os, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReasonEnumerated (::std::ostream& os, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReasonEnumerated (::std::ostream& os, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optReasonEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + optReasonEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::OptReasonEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optReasonEnumerated (const ::oadr2b::ei::OptReasonEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + optID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + optID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + optID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + optID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + optID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiReportID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiReportID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiReportID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiReportID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiReportID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiReportID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiReportID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiReportID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportRequestID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportRequestID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportRequestID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportRequestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportRequestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportRequestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportRequestID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportRequestID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportSpecifierID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifierID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifierID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportSpecifierID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifierID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifierID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportSpecifierID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSpecifierID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportName (::std::ostream& os, + const ::oadr2b::ei::reportNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportName (::std::ostream& os, + const ::oadr2b::ei::reportNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportName (::std::ostream& os, + const ::oadr2b::ei::reportNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::reportNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::reportNameType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportName (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::reportNameType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportName (::xercesc::DOMDocument& d, + const ::oadr2b::ei::reportNameType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportName (const ::oadr2b::ei::reportNameType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + rID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + rID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + rID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + rID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + rID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + rID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + rID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + rID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportSubject (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSubject (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSubject (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportSubject (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSubject (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSubject (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportSubject (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSubject (const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportDataSource (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportDataSource (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportDataSource (::std::ostream& os, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportDataSource (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportDataSource (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportDataSource (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::EiTargetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportDataSource (::xercesc::DOMDocument& d, + const ::oadr2b::ei::EiTargetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportDataSource (const ::oadr2b::ei::EiTargetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + statusDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + statusDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + statusDateTime (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + statusDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + statusDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + statusDateTime (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + statusDateTime (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + statusDateTime (const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportType (::std::ostream& os, + const ::oadr2b::ei::ReportTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportType (::std::ostream& os, + const ::oadr2b::ei::ReportTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportType (::std::ostream& os, + const ::oadr2b::ei::ReportTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportTypeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportType (const ::oadr2b::ei::ReportTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReportEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReportEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReportEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportEnumerated (const ::oadr2b::ei::ReportEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + readingType (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingType (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingType (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + readingType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingType (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + readingType (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReadingTypeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + readingType (const ::oadr2b::ei::ReadingTypeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + readingTypeEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingTypeEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingTypeEnumerated (::std::ostream& os, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + readingTypeEnumerated (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + readingTypeEnumerated (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + readingTypeEnumerated (const ::oadr2b::ei::ReadingTypeEnumeratedType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + confidence (::std::ostream& os, + const ::oadr2b::ei::ConfidenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + confidence (::std::ostream& os, + const ::oadr2b::ei::ConfidenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + confidence (::std::ostream& os, + const ::oadr2b::ei::ConfidenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + confidence (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ConfidenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + confidence (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ConfidenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + confidence (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ConfidenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + confidence (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ConfidenceType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + confidence (const ::oadr2b::ei::ConfidenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + accuracy (::std::ostream& os, + const ::oadr2b::ei::AccuracyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + accuracy (::std::ostream& os, + const ::oadr2b::ei::AccuracyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + accuracy (::std::ostream& os, + const ::oadr2b::ei::AccuracyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + accuracy (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::AccuracyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + accuracy (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::AccuracyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + accuracy (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::AccuracyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + accuracy (::xercesc::DOMDocument& d, + const ::oadr2b::ei::AccuracyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + accuracy (const ::oadr2b::ei::AccuracyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + numDataSources (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + numDataSources (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + numDataSources (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + numDataSources (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + numDataSources (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + numDataSources (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + numDataSources (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + numDataSources (const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportSpecifier (::std::ostream& os, + const ::oadr2b::ei::ReportSpecifierType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifier (::std::ostream& os, + const ::oadr2b::ei::ReportSpecifierType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifier (::std::ostream& os, + const ::oadr2b::ei::ReportSpecifierType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportSpecifier (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportSpecifierType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifier (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportSpecifierType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportSpecifier (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::ReportSpecifierType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportSpecifier (::xercesc::DOMDocument& d, + const ::oadr2b::ei::ReportSpecifierType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportSpecifier (const ::oadr2b::ei::ReportSpecifierType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + specifierPayload (::std::ostream& os, + const ::oadr2b::ei::SpecifierPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + specifierPayload (::std::ostream& os, + const ::oadr2b::ei::SpecifierPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + specifierPayload (::std::ostream& os, + const ::oadr2b::ei::SpecifierPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + specifierPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SpecifierPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + specifierPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SpecifierPayloadType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + specifierPayload (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::SpecifierPayloadType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + specifierPayload (::xercesc::DOMDocument& d, + const ::oadr2b::ei::SpecifierPayloadType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + specifierPayload (const ::oadr2b::ei::SpecifierPayloadType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + registrationID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + registrationID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + registrationID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + registrationID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + registrationID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + registrationID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + registrationID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + registrationID (const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + refID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + refID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + refID (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + refID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + refID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + refID (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + refID (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + refID (const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + uid (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid (::std::ostream& os, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + uid (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::ei::UidType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + uid (::xercesc::DOMDocument& d, + const ::oadr2b::ei::UidType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + uid (const ::oadr2b::ei::UidType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_EI_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_emix_20b.cxx b/oadrsd/oadrsd/2b/oadr_emix_20b.cxx new file mode 100644 index 0000000..cb3ed5b --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_emix_20b.cxx @@ -0,0 +1,1477 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_emix_20b.hxx" + +namespace oadr2b +{ + namespace emix + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::marketContext (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::marketContext (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::marketContext (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::marketContext (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::marketContext (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::marketContext (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::emix::MarketContextType > ( + ::oadr2b::emix::marketContext ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::MarketContextType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > r ( + dynamic_cast< ::oadr2b::emix::MarketContextType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::MarketContextType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > r ( + dynamic_cast< ::oadr2b::emix::MarketContextType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::serviceArea (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::serviceArea (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::serviceArea (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::serviceArea (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::serviceArea (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::serviceArea (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > ( + ::oadr2b::emix::serviceArea ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::ServiceAreaType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > r ( + dynamic_cast< ::oadr2b::emix::ServiceAreaType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::ServiceAreaType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > r ( + dynamic_cast< ::oadr2b::emix::ServiceAreaType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::itemBase (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::itemBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::emix::itemBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::itemBase (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::itemBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::emix::itemBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > ( + ::oadr2b::emix::itemBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::ItemBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > r ( + dynamic_cast< ::oadr2b::emix::ItemBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + &::xsd::cxx::tree::factory_impl< ::oadr2b::emix::ItemBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > r ( + dynamic_cast< ::oadr2b::emix::ItemBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace emix + { + void + marketContext (::std::ostream& o, + const ::oadr2b::emix::MarketContextType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + marketContext (::std::ostream& o, + const ::oadr2b::emix::MarketContextType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + marketContext (::std::ostream& o, + const ::oadr2b::emix::MarketContextType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + marketContext (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::MarketContextType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + marketContext (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::MarketContextType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + marketContext (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::MarketContextType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::marketContext (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + marketContext (::xercesc::DOMDocument& d, + const ::oadr2b::emix::MarketContextType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::emix::MarketContextType) == typeid (s)) + { + if (n.name () == "marketContext" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + marketContext (const ::oadr2b::emix::MarketContextType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::emix::MarketContextType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "marketContext", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, s, f); + } + + ::oadr2b::emix::marketContext (*d, s, f); + return d; + } + + void + serviceArea (::std::ostream& o, + const ::oadr2b::emix::ServiceAreaType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceArea (::std::ostream& o, + const ::oadr2b::emix::ServiceAreaType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceArea (::std::ostream& o, + const ::oadr2b::emix::ServiceAreaType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceArea (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ServiceAreaType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceArea (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ServiceAreaType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceArea (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ServiceAreaType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::serviceArea (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceArea (::xercesc::DOMDocument& d, + const ::oadr2b::emix::ServiceAreaType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::emix::ServiceAreaType) == typeid (s)) + { + if (n.name () == "serviceArea" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceArea (const ::oadr2b::emix::ServiceAreaType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::emix::ServiceAreaType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceArea", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, s, f); + } + + ::oadr2b::emix::serviceArea (*d, s, f); + return d; + } + + void + itemBase (::std::ostream& o, + const ::oadr2b::emix::ItemBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + itemBase (::std::ostream& o, + const ::oadr2b::emix::ItemBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + itemBase (::std::ostream& o, + const ::oadr2b::emix::ItemBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + itemBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ItemBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + itemBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ItemBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + itemBase (::xercesc::XMLFormatTarget& t, + const ::oadr2b::emix::ItemBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::emix::itemBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + itemBase (::xercesc::DOMDocument& d, + const ::oadr2b::emix::ItemBaseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::emix::ItemBaseType) == typeid (s)) + { + if (n.name () == "itemBase" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + itemBase (const ::oadr2b::emix::ItemBaseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::emix::ItemBaseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + m, s, f); + } + + ::oadr2b::emix::itemBase (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_emix_20b.hxx b/oadrsd/oadrsd/2b/oadr_emix_20b.hxx new file mode 100644 index 0000000..509db07 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_emix_20b.hxx @@ -0,0 +1,804 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_EMIX_20B_HXX +#define OADR_EMIX_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace emix + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_gml_20b.hxx" + +#include "MarketContextType.hxx" + +#include "ServiceAreaType.hxx" + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace emix + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace emix + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::MarketContextType > + marketContext (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ServiceAreaType > + serviceArea (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::emix::ItemBaseType > + itemBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace emix + { + // Serialize to std::ostream. + // + + void + marketContext (::std::ostream& os, + const ::oadr2b::emix::MarketContextType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + marketContext (::std::ostream& os, + const ::oadr2b::emix::MarketContextType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + marketContext (::std::ostream& os, + const ::oadr2b::emix::MarketContextType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + marketContext (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::MarketContextType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + marketContext (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::MarketContextType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + marketContext (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::MarketContextType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + marketContext (::xercesc::DOMDocument& d, + const ::oadr2b::emix::MarketContextType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + marketContext (const ::oadr2b::emix::MarketContextType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + serviceArea (::std::ostream& os, + const ::oadr2b::emix::ServiceAreaType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceArea (::std::ostream& os, + const ::oadr2b::emix::ServiceAreaType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceArea (::std::ostream& os, + const ::oadr2b::emix::ServiceAreaType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serviceArea (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ServiceAreaType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceArea (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ServiceAreaType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceArea (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ServiceAreaType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serviceArea (::xercesc::DOMDocument& d, + const ::oadr2b::emix::ServiceAreaType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceArea (const ::oadr2b::emix::ServiceAreaType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + itemBase (::std::ostream& os, + const ::oadr2b::emix::ItemBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + itemBase (::std::ostream& os, + const ::oadr2b::emix::ItemBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + itemBase (::std::ostream& os, + const ::oadr2b::emix::ItemBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + itemBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ItemBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + itemBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ItemBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + itemBase (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::emix::ItemBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + itemBase (::xercesc::DOMDocument& d, + const ::oadr2b::emix::ItemBaseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + itemBase (const ::oadr2b::emix::ItemBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_EMIX_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_gml_20b.cxx b/oadrsd/oadrsd/2b/oadr_gml_20b.cxx new file mode 100644 index 0000000..5d99000 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_gml_20b.cxx @@ -0,0 +1,975 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_gml_20b.hxx" + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::FeatureCollection_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::FeatureCollection_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::FeatureCollection_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::FeatureCollection_ (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::FeatureCollection_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::FeatureCollection_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > ( + ::oadr2b::gml::FeatureCollection_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "FeatureCollection" && + n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > r ( + ::xsd::cxx::tree::traits< ::oadr2b::gml::FeatureCollection, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "FeatureCollection", + "http://www.opengis.net/gml/3.2"); + } + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "FeatureCollection" && + n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > r ( + ::xsd::cxx::tree::traits< ::oadr2b::gml::FeatureCollection, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "FeatureCollection", + "http://www.opengis.net/gml/3.2"); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::posList (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::posList (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::gml::posList (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::posList (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::posList (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::gml::posList (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::gml::doubleList > ( + ::oadr2b::gml::posList ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "posList", + "http://www.opengis.net/gml/3.2", + &::xsd::cxx::tree::factory_impl< ::oadr2b::gml::doubleList >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::gml::doubleList > r ( + dynamic_cast< ::oadr2b::gml::doubleList* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "posList", + "http://www.opengis.net/gml/3.2"); + } + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "posList", + "http://www.opengis.net/gml/3.2", + &::xsd::cxx::tree::factory_impl< ::oadr2b::gml::doubleList >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::gml::doubleList > r ( + dynamic_cast< ::oadr2b::gml::doubleList* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "posList", + "http://www.opengis.net/gml/3.2"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace gml + { + void + FeatureCollection_ (::std::ostream& o, + const ::oadr2b::gml::FeatureCollection& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + FeatureCollection_ (::std::ostream& o, + const ::oadr2b::gml::FeatureCollection& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + FeatureCollection_ (::std::ostream& o, + const ::oadr2b::gml::FeatureCollection& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::FeatureCollection& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::FeatureCollection& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::FeatureCollection& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::FeatureCollection_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + FeatureCollection_ (::xercesc::DOMDocument& d, + const ::oadr2b::gml::FeatureCollection& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "FeatureCollection" && + n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "FeatureCollection", + "http://www.opengis.net/gml/3.2"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + FeatureCollection_ (const ::oadr2b::gml::FeatureCollection& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "FeatureCollection", + "http://www.opengis.net/gml/3.2", + m, f)); + + ::oadr2b::gml::FeatureCollection_ (*d, s, f); + return d; + } + + void + posList (::std::ostream& o, + const ::oadr2b::gml::doubleList& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + posList (::std::ostream& o, + const ::oadr2b::gml::doubleList& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + posList (::std::ostream& o, + const ::oadr2b::gml::doubleList& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + posList (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::doubleList& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + posList (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::doubleList& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + posList (::xercesc::XMLFormatTarget& t, + const ::oadr2b::gml::doubleList& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::gml::posList (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + posList (::xercesc::DOMDocument& d, + const ::oadr2b::gml::doubleList& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::gml::doubleList) == typeid (s)) + { + if (n.name () == "posList" && + n.namespace_ () == "http://www.opengis.net/gml/3.2") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "posList", + "http://www.opengis.net/gml/3.2"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "posList", + "http://www.opengis.net/gml/3.2", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + posList (const ::oadr2b::gml::doubleList& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::gml::doubleList) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "posList", + "http://www.opengis.net/gml/3.2", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "posList", + "http://www.opengis.net/gml/3.2", + m, s, f); + } + + ::oadr2b::gml::posList (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_gml_20b.hxx b/oadrsd/oadrsd/2b/oadr_gml_20b.hxx new file mode 100644 index 0000000..0326cf8 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_gml_20b.hxx @@ -0,0 +1,647 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_GML_20B_HXX +#define OADR_GML_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace gml + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "doubleList.hxx" + +#include "FeatureCollection.hxx" + +#include "location.hxx" + +#include "Polygon.hxx" + +#include "exterior.hxx" + +#include "LinearRing.hxx" + +namespace oadr2b +{ + namespace gml + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace gml + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::FeatureCollection > + FeatureCollection_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::gml::doubleList > + posList (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace gml + { + // Serialize to std::ostream. + // + + void + FeatureCollection_ (::std::ostream& os, + const ::oadr2b::gml::FeatureCollection& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + FeatureCollection_ (::std::ostream& os, + const ::oadr2b::gml::FeatureCollection& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + FeatureCollection_ (::std::ostream& os, + const ::oadr2b::gml::FeatureCollection& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::FeatureCollection& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::FeatureCollection& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + FeatureCollection_ (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::FeatureCollection& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + FeatureCollection_ (::xercesc::DOMDocument& d, + const ::oadr2b::gml::FeatureCollection& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + FeatureCollection_ (const ::oadr2b::gml::FeatureCollection& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + posList (::std::ostream& os, + const ::oadr2b::gml::doubleList& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + posList (::std::ostream& os, + const ::oadr2b::gml::doubleList& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + posList (::std::ostream& os, + const ::oadr2b::gml::doubleList& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + posList (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::doubleList& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + posList (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::doubleList& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + posList (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::gml::doubleList& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + posList (::xercesc::DOMDocument& d, + const ::oadr2b::gml::doubleList& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + posList (const ::oadr2b::gml::doubleList& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_GML_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_greenbutton.cxx b/oadrsd/oadrsd/2b/oadr_greenbutton.cxx new file mode 100644 index 0000000..bf4a1e1 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_greenbutton.cxx @@ -0,0 +1,6961 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_greenbutton.hxx" + +namespace espi +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace espi +{ +} + +#include +#include +#include + +namespace espi +{ + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalBlock_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalBlock_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalBlock_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalBlock_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalBlock_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalBlock_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::IntervalBlock > ( + ::espi::IntervalBlock_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IntervalBlock", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IntervalBlock >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::IntervalBlock > r ( + dynamic_cast< ::espi::IntervalBlock* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalBlock", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IntervalBlock", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IntervalBlock >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::IntervalBlock > r ( + dynamic_cast< ::espi::IntervalBlock* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalBlock", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalReading_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IntervalReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalReading_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IntervalReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::IntervalReading > ( + ::espi::IntervalReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IntervalReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IntervalReading >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::IntervalReading > r ( + dynamic_cast< ::espi::IntervalReading* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalReading", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IntervalReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IntervalReading >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::IntervalReading > r ( + dynamic_cast< ::espi::IntervalReading* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalReading", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::MeterReading_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::MeterReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::MeterReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::MeterReading_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::MeterReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::MeterReading_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::MeterReading > ( + ::espi::MeterReading_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "MeterReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::MeterReading >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::MeterReading > r ( + dynamic_cast< ::espi::MeterReading* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MeterReading", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "MeterReading", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::MeterReading >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::MeterReading > r ( + dynamic_cast< ::espi::MeterReading* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MeterReading", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingQuality_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingQuality_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingQuality_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingQuality_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingQuality_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingQuality_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::ReadingQuality > ( + ::espi::ReadingQuality_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReadingQuality", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ReadingQuality >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::ReadingQuality > r ( + dynamic_cast< ::espi::ReadingQuality* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingQuality", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReadingQuality", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ReadingQuality >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::ReadingQuality > r ( + dynamic_cast< ::espi::ReadingQuality* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingQuality", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingType_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingType_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ReadingType_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingType_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingType_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ReadingType_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::ReadingType > ( + ::espi::ReadingType_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReadingType", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ReadingType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::ReadingType > r ( + dynamic_cast< ::espi::ReadingType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingType", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReadingType", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ReadingType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::ReadingType > r ( + dynamic_cast< ::espi::ReadingType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingType", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IdentifiedObject_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IdentifiedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::IdentifiedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IdentifiedObject_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IdentifiedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::IdentifiedObject_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::IdentifiedObject > ( + ::espi::IdentifiedObject_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IdentifiedObject", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IdentifiedObject >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::IdentifiedObject > r ( + dynamic_cast< ::espi::IdentifiedObject* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IdentifiedObject", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "IdentifiedObject", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::IdentifiedObject >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::IdentifiedObject > r ( + dynamic_cast< ::espi::IdentifiedObject* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IdentifiedObject", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::UsagePoint_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::UsagePoint_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::UsagePoint_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::UsagePoint_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::UsagePoint_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::UsagePoint_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::UsagePoint > ( + ::espi::UsagePoint_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "UsagePoint", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::UsagePoint >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::UsagePoint > r ( + dynamic_cast< ::espi::UsagePoint* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "UsagePoint", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "UsagePoint", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::UsagePoint >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::UsagePoint > r ( + dynamic_cast< ::espi::UsagePoint* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "UsagePoint", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerQualitySummary_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerQualitySummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerQualitySummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerQualitySummary_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerQualitySummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerQualitySummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > ( + ::espi::ElectricPowerQualitySummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ElectricPowerQualitySummary >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > r ( + dynamic_cast< ::espi::ElectricPowerQualitySummary* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerQualitySummary", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ElectricPowerQualitySummary >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > r ( + dynamic_cast< ::espi::ElectricPowerQualitySummary* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerQualitySummary", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerUsageSummary_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerUsageSummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ElectricPowerUsageSummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerUsageSummary_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerUsageSummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ElectricPowerUsageSummary_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > ( + ::espi::ElectricPowerUsageSummary_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ElectricPowerUsageSummary >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > r ( + dynamic_cast< ::espi::ElectricPowerUsageSummary* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerUsageSummary", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ElectricPowerUsageSummary >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > r ( + dynamic_cast< ::espi::ElectricPowerUsageSummary* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerUsageSummary", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::DateTimeInterval_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::DateTimeInterval_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::DateTimeInterval_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::DateTimeInterval_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::DateTimeInterval_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::DateTimeInterval_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::DateTimeInterval > ( + ::espi::DateTimeInterval_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DateTimeInterval", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::DateTimeInterval >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::DateTimeInterval > r ( + dynamic_cast< ::espi::DateTimeInterval* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DateTimeInterval", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DateTimeInterval", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::DateTimeInterval >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::DateTimeInterval > r ( + dynamic_cast< ::espi::DateTimeInterval* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DateTimeInterval", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::SummaryMeasurement_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::SummaryMeasurement_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::SummaryMeasurement_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::SummaryMeasurement_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::SummaryMeasurement_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::SummaryMeasurement_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::SummaryMeasurement > ( + ::espi::SummaryMeasurement_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SummaryMeasurement", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::SummaryMeasurement >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::SummaryMeasurement > r ( + dynamic_cast< ::espi::SummaryMeasurement* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SummaryMeasurement", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SummaryMeasurement", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::SummaryMeasurement >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::SummaryMeasurement > r ( + dynamic_cast< ::espi::SummaryMeasurement* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SummaryMeasurement", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::BatchItemInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::BatchItemInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::BatchItemInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::BatchItemInfo_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::BatchItemInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::BatchItemInfo_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::BatchItemInfo > ( + ::espi::BatchItemInfo_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "BatchItemInfo", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::BatchItemInfo >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::BatchItemInfo > r ( + dynamic_cast< ::espi::BatchItemInfo* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "BatchItemInfo", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "BatchItemInfo", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::BatchItemInfo >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::BatchItemInfo > r ( + dynamic_cast< ::espi::BatchItemInfo* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "BatchItemInfo", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::Object_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::Object_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::Object_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::Object_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::Object_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::Object_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::Object > ( + ::espi::Object_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Object", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::Object >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::Object > r ( + dynamic_cast< ::espi::Object* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::Object > + Object_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Object", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::Object >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::Object > r ( + dynamic_cast< ::espi::Object* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ServiceStatus_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ServiceStatus_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::ServiceStatus_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ServiceStatus_ (isrc, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ServiceStatus_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::ServiceStatus_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::ServiceStatus > ( + ::espi::ServiceStatus_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ServiceStatus", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ServiceStatus >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::ServiceStatus > r ( + dynamic_cast< ::espi::ServiceStatus* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ServiceStatus", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ServiceStatus", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::ServiceStatus >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::ServiceStatus > r ( + dynamic_cast< ::espi::ServiceStatus* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ServiceStatus", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::LocalTimeParameters (isrc, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::LocalTimeParameters (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::espi::LocalTimeParameters (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::LocalTimeParameters (isrc, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::LocalTimeParameters (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::espi::LocalTimeParameters (isrc, h, f, p); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::espi::TimeConfiguration > ( + ::espi::LocalTimeParameters ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "LocalTimeParameters", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::TimeConfiguration >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::espi::TimeConfiguration > r ( + dynamic_cast< ::espi::TimeConfiguration* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "LocalTimeParameters", + "http://naesb.org/espi"); + } + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "LocalTimeParameters", + "http://naesb.org/espi", + &::xsd::cxx::tree::factory_impl< ::espi::TimeConfiguration >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::espi::TimeConfiguration > r ( + dynamic_cast< ::espi::TimeConfiguration* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "LocalTimeParameters", + "http://naesb.org/espi"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace espi +{ + void + IntervalBlock_ (::std::ostream& o, + const ::espi::IntervalBlock& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IntervalBlock_ (::std::ostream& o, + const ::espi::IntervalBlock& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalBlock_ (::std::ostream& o, + const ::espi::IntervalBlock& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalBlock& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalBlock& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalBlock& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalBlock_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalBlock_ (::xercesc::DOMDocument& d, + const ::espi::IntervalBlock& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::IntervalBlock) == typeid (s)) + { + if (n.name () == "IntervalBlock" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalBlock", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IntervalBlock", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IntervalBlock_ (const ::espi::IntervalBlock& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::IntervalBlock) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "IntervalBlock", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IntervalBlock", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::IntervalBlock_ (*d, s, f); + return d; + } + + void + IntervalReading_ (::std::ostream& o, + const ::espi::IntervalReading& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IntervalReading_ (::std::ostream& o, + const ::espi::IntervalReading& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalReading_ (::std::ostream& o, + const ::espi::IntervalReading& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalReading& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IntervalReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalReading& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::IntervalReading& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IntervalReading_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IntervalReading_ (::xercesc::DOMDocument& d, + const ::espi::IntervalReading& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::IntervalReading) == typeid (s)) + { + if (n.name () == "IntervalReading" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IntervalReading", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IntervalReading", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IntervalReading_ (const ::espi::IntervalReading& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::IntervalReading) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "IntervalReading", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IntervalReading", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::IntervalReading_ (*d, s, f); + return d; + } + + void + MeterReading_ (::std::ostream& o, + const ::espi::MeterReading& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + MeterReading_ (::std::ostream& o, + const ::espi::MeterReading& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MeterReading_ (::std::ostream& o, + const ::espi::MeterReading& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MeterReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::MeterReading& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + MeterReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::MeterReading& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MeterReading_ (::xercesc::XMLFormatTarget& t, + const ::espi::MeterReading& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::MeterReading_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MeterReading_ (::xercesc::DOMDocument& d, + const ::espi::MeterReading& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::MeterReading) == typeid (s)) + { + if (n.name () == "MeterReading" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MeterReading", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "MeterReading", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + MeterReading_ (const ::espi::MeterReading& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::MeterReading) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "MeterReading", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "MeterReading", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::MeterReading_ (*d, s, f); + return d; + } + + void + ReadingQuality_ (::std::ostream& o, + const ::espi::ReadingQuality& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReadingQuality_ (::std::ostream& o, + const ::espi::ReadingQuality& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingQuality_ (::std::ostream& o, + const ::espi::ReadingQuality& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingQuality& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingQuality& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingQuality& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingQuality_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingQuality_ (::xercesc::DOMDocument& d, + const ::espi::ReadingQuality& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::ReadingQuality) == typeid (s)) + { + if (n.name () == "ReadingQuality" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingQuality", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReadingQuality", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReadingQuality_ (const ::espi::ReadingQuality& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::ReadingQuality) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ReadingQuality", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReadingQuality", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::ReadingQuality_ (*d, s, f); + return d; + } + + void + ReadingType_ (::std::ostream& o, + const ::espi::ReadingType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReadingType_ (::std::ostream& o, + const ::espi::ReadingType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingType_ (::std::ostream& o, + const ::espi::ReadingType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingType_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReadingType_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingType_ (::xercesc::XMLFormatTarget& t, + const ::espi::ReadingType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ReadingType_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReadingType_ (::xercesc::DOMDocument& d, + const ::espi::ReadingType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::ReadingType) == typeid (s)) + { + if (n.name () == "ReadingType" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReadingType", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReadingType", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReadingType_ (const ::espi::ReadingType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::ReadingType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ReadingType", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReadingType", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::ReadingType_ (*d, s, f); + return d; + } + + void + IdentifiedObject_ (::std::ostream& o, + const ::espi::IdentifiedObject& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IdentifiedObject_ (::std::ostream& o, + const ::espi::IdentifiedObject& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IdentifiedObject_ (::std::ostream& o, + const ::espi::IdentifiedObject& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& t, + const ::espi::IdentifiedObject& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& t, + const ::espi::IdentifiedObject& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& t, + const ::espi::IdentifiedObject& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::IdentifiedObject_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + IdentifiedObject_ (::xercesc::DOMDocument& d, + const ::espi::IdentifiedObject& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::IdentifiedObject) == typeid (s)) + { + if (n.name () == "IdentifiedObject" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "IdentifiedObject", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IdentifiedObject", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IdentifiedObject_ (const ::espi::IdentifiedObject& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::IdentifiedObject) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "IdentifiedObject", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "IdentifiedObject", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::IdentifiedObject_ (*d, s, f); + return d; + } + + void + UsagePoint_ (::std::ostream& o, + const ::espi::UsagePoint& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + UsagePoint_ (::std::ostream& o, + const ::espi::UsagePoint& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + UsagePoint_ (::std::ostream& o, + const ::espi::UsagePoint& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + UsagePoint_ (::xercesc::XMLFormatTarget& t, + const ::espi::UsagePoint& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + UsagePoint_ (::xercesc::XMLFormatTarget& t, + const ::espi::UsagePoint& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + UsagePoint_ (::xercesc::XMLFormatTarget& t, + const ::espi::UsagePoint& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::UsagePoint_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + UsagePoint_ (::xercesc::DOMDocument& d, + const ::espi::UsagePoint& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::UsagePoint) == typeid (s)) + { + if (n.name () == "UsagePoint" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "UsagePoint", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "UsagePoint", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + UsagePoint_ (const ::espi::UsagePoint& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::UsagePoint) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "UsagePoint", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "UsagePoint", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::UsagePoint_ (*d, s, f); + return d; + } + + void + ElectricPowerQualitySummary_ (::std::ostream& o, + const ::espi::ElectricPowerQualitySummary& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ElectricPowerQualitySummary_ (::std::ostream& o, + const ::espi::ElectricPowerQualitySummary& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerQualitySummary_ (::std::ostream& o, + const ::espi::ElectricPowerQualitySummary& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerQualitySummary& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerQualitySummary& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerQualitySummary& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerQualitySummary_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerQualitySummary_ (::xercesc::DOMDocument& d, + const ::espi::ElectricPowerQualitySummary& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::ElectricPowerQualitySummary) == typeid (s)) + { + if (n.name () == "ElectricPowerQualitySummary" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerQualitySummary", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ElectricPowerQualitySummary_ (const ::espi::ElectricPowerQualitySummary& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::ElectricPowerQualitySummary) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ElectricPowerQualitySummary", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::ElectricPowerQualitySummary_ (*d, s, f); + return d; + } + + void + ElectricPowerUsageSummary_ (::std::ostream& o, + const ::espi::ElectricPowerUsageSummary& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ElectricPowerUsageSummary_ (::std::ostream& o, + const ::espi::ElectricPowerUsageSummary& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerUsageSummary_ (::std::ostream& o, + const ::espi::ElectricPowerUsageSummary& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerUsageSummary& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerUsageSummary& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& t, + const ::espi::ElectricPowerUsageSummary& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ElectricPowerUsageSummary_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ElectricPowerUsageSummary_ (::xercesc::DOMDocument& d, + const ::espi::ElectricPowerUsageSummary& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::ElectricPowerUsageSummary) == typeid (s)) + { + if (n.name () == "ElectricPowerUsageSummary" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ElectricPowerUsageSummary", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ElectricPowerUsageSummary_ (const ::espi::ElectricPowerUsageSummary& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::ElectricPowerUsageSummary) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ElectricPowerUsageSummary", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::ElectricPowerUsageSummary_ (*d, s, f); + return d; + } + + void + DateTimeInterval_ (::std::ostream& o, + const ::espi::DateTimeInterval& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DateTimeInterval_ (::std::ostream& o, + const ::espi::DateTimeInterval& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DateTimeInterval_ (::std::ostream& o, + const ::espi::DateTimeInterval& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& t, + const ::espi::DateTimeInterval& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& t, + const ::espi::DateTimeInterval& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& t, + const ::espi::DateTimeInterval& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::DateTimeInterval_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DateTimeInterval_ (::xercesc::DOMDocument& d, + const ::espi::DateTimeInterval& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::DateTimeInterval) == typeid (s)) + { + if (n.name () == "DateTimeInterval" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DateTimeInterval", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DateTimeInterval", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DateTimeInterval_ (const ::espi::DateTimeInterval& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::DateTimeInterval) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "DateTimeInterval", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DateTimeInterval", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::DateTimeInterval_ (*d, s, f); + return d; + } + + void + SummaryMeasurement_ (::std::ostream& o, + const ::espi::SummaryMeasurement& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SummaryMeasurement_ (::std::ostream& o, + const ::espi::SummaryMeasurement& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SummaryMeasurement_ (::std::ostream& o, + const ::espi::SummaryMeasurement& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& t, + const ::espi::SummaryMeasurement& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& t, + const ::espi::SummaryMeasurement& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& t, + const ::espi::SummaryMeasurement& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::SummaryMeasurement_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SummaryMeasurement_ (::xercesc::DOMDocument& d, + const ::espi::SummaryMeasurement& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::SummaryMeasurement) == typeid (s)) + { + if (n.name () == "SummaryMeasurement" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SummaryMeasurement", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SummaryMeasurement", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SummaryMeasurement_ (const ::espi::SummaryMeasurement& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::SummaryMeasurement) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SummaryMeasurement", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SummaryMeasurement", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::SummaryMeasurement_ (*d, s, f); + return d; + } + + void + BatchItemInfo_ (::std::ostream& o, + const ::espi::BatchItemInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + BatchItemInfo_ (::std::ostream& o, + const ::espi::BatchItemInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + BatchItemInfo_ (::std::ostream& o, + const ::espi::BatchItemInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& t, + const ::espi::BatchItemInfo& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& t, + const ::espi::BatchItemInfo& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& t, + const ::espi::BatchItemInfo& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::BatchItemInfo_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + BatchItemInfo_ (::xercesc::DOMDocument& d, + const ::espi::BatchItemInfo& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::BatchItemInfo) == typeid (s)) + { + if (n.name () == "BatchItemInfo" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "BatchItemInfo", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "BatchItemInfo", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + BatchItemInfo_ (const ::espi::BatchItemInfo& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::BatchItemInfo) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "BatchItemInfo", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "BatchItemInfo", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::BatchItemInfo_ (*d, s, f); + return d; + } + + void + Object_ (::std::ostream& o, + const ::espi::Object& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Object_ (::std::ostream& o, + const ::espi::Object& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object_ (::std::ostream& o, + const ::espi::Object& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object_ (::xercesc::XMLFormatTarget& t, + const ::espi::Object& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Object_ (::xercesc::XMLFormatTarget& t, + const ::espi::Object& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object_ (::xercesc::XMLFormatTarget& t, + const ::espi::Object& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::Object_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object_ (::xercesc::DOMDocument& d, + const ::espi::Object& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::Object) == typeid (s)) + { + if (n.name () == "Object" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Object", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Object_ (const ::espi::Object& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::Object) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Object", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Object", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::Object_ (*d, s, f); + return d; + } + + void + ServiceStatus_ (::std::ostream& o, + const ::espi::ServiceStatus& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ServiceStatus_ (::std::ostream& o, + const ::espi::ServiceStatus& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ServiceStatus_ (::std::ostream& o, + const ::espi::ServiceStatus& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& t, + const ::espi::ServiceStatus& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& t, + const ::espi::ServiceStatus& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& t, + const ::espi::ServiceStatus& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::ServiceStatus_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ServiceStatus_ (::xercesc::DOMDocument& d, + const ::espi::ServiceStatus& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::ServiceStatus) == typeid (s)) + { + if (n.name () == "ServiceStatus" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ServiceStatus", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ServiceStatus", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ServiceStatus_ (const ::espi::ServiceStatus& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::ServiceStatus) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ServiceStatus", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ServiceStatus", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::ServiceStatus_ (*d, s, f); + return d; + } + + void + LocalTimeParameters (::std::ostream& o, + const ::espi::TimeConfiguration& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + LocalTimeParameters (::std::ostream& o, + const ::espi::TimeConfiguration& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + LocalTimeParameters (::std::ostream& o, + const ::espi::TimeConfiguration& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& t, + const ::espi::TimeConfiguration& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& t, + const ::espi::TimeConfiguration& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& t, + const ::espi::TimeConfiguration& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::espi::LocalTimeParameters (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + LocalTimeParameters (::xercesc::DOMDocument& d, + const ::espi::TimeConfiguration& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::espi::TimeConfiguration) == typeid (s)) + { + if (n.name () == "LocalTimeParameters" && + n.namespace_ () == "http://naesb.org/espi") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "LocalTimeParameters", + "http://naesb.org/espi"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "LocalTimeParameters", + "http://naesb.org/espi", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + LocalTimeParameters (const ::espi::TimeConfiguration& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::espi::TimeConfiguration) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "LocalTimeParameters", + "http://naesb.org/espi", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "LocalTimeParameters", + "http://naesb.org/espi", + m, s, f); + } + + ::espi::LocalTimeParameters (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_greenbutton.hxx b/oadrsd/oadrsd/2b/oadr_greenbutton.hxx new file mode 100644 index 0000000..437e072 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_greenbutton.hxx @@ -0,0 +1,2874 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_GREENBUTTON_HXX +#define OADR_GREENBUTTON_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace espi +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_atom.hxx" + +#include "IntervalBlock.hxx" + +#include "MeterReading.hxx" + +#include "ReadingType.hxx" + +#include "UsagePoint.hxx" + +#include "ElectricPowerQualitySummary.hxx" + +#include "ElectricPowerUsageSummary.hxx" + +#include "TimeConfiguration.hxx" + +#include "IntervalReading.hxx" + +#include "ReadingQuality.hxx" + +#include "ServiceCategory.hxx" + +#include "SummaryMeasurement.hxx" + +#include "BatchItemInfo.hxx" + +#include "ServiceDeliveryPoint.hxx" + +#include "HexBinary128.hxx" + +#include "HexBinary32.hxx" + +#include "HexBinary16.hxx" + +#include "HexBinary8.hxx" + +#include "String256.hxx" + +#include "String32.hxx" + +#include "String64.hxx" + +#include "UInt16.hxx" + +#include "UInt32.hxx" + +#include "UInt48.hxx" + +#include "UInt8.hxx" + +#include "Int48.hxx" + +#include "Int16.hxx" + +#include "TimeType.hxx" + +#include "DateTimeInterval.hxx" + +#include "IdentifiedObject.hxx" + +#include "UUIDType.hxx" + +#include "Object.hxx" + +#include "ServiceStatus.hxx" + +#include "RationalNumber.hxx" + +#include "ReadingInterharmonic.hxx" + +#include "LineItem.hxx" + +#include "AccumulationKind.hxx" + +#include "CommodityKind.hxx" + +#include "Currency.hxx" + +#include "DataQualifierKind.hxx" + +#include "FlowDirectionKind.hxx" + +#include "MeasurementKind.hxx" + +#include "PhaseCodeKind.hxx" + +#include "UnitMultiplierKind.hxx" + +#include "QualityOfReading.hxx" + +#include "ServiceKind.hxx" + +#include "TimeAttributeKind.hxx" + +#include "TimePeriodOfInterest.hxx" + +#include "UnitSymbolKind.hxx" + +#include "StatusCode.hxx" + +#include "CRUDOperation.hxx" + +#include "DataCustodianApplicationStatus.hxx" + +#include "ThirdPartyApplicatonStatus.hxx" + +#include "ThirdPartyApplicationType.hxx" + +#include "ThirdPartyApplicationUse.hxx" + +#include "AuthorizationStatus.hxx" + +#include "ESPIServiceStatus.hxx" + +#include "DstRuleType.hxx" + +#include "AccumulationKind_member.hxx" + +#include "CommodityKind_member.hxx" + +#include "Currency_member.hxx" + +#include "DataQualifierKind_member.hxx" + +#include "FlowDirectionKind_member.hxx" + +#include "MeasurementKind_member.hxx" + +#include "PhaseCodeKind_member.hxx" + +#include "UnitMultiplierKind_member.hxx" + +#include "QualityOfReading_member.hxx" + +#include "ServiceKind_member.hxx" + +#include "TimeAttributeKind_member.hxx" + +#include "TimePeriodOfInterest_member.hxx" + +#include "UnitSymbolKind_member.hxx" + +#include "StatusCode_member.hxx" + +#include "CRUDOperation_member.hxx" + +#include "DataCustodianApplicationStatus_member.hxx" + +#include "ThirdPartyApplicatonStatus_member.hxx" + +#include "ThirdPartyApplicationType_member.hxx" + +#include "ThirdPartyApplicationUse_member.hxx" + +#include "AuthorizationStatus_member.hxx" + +#include "ESPIServiceStatus_member.hxx" + +namespace espi +{ +} + +#include + +#include +#include +#include + +namespace espi +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalBlock > + IntervalBlock_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IntervalReading > + IntervalReading_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::MeterReading > + MeterReading_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingQuality > + ReadingQuality_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ReadingType > + ReadingType_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::IdentifiedObject > + IdentifiedObject_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::UsagePoint > + UsagePoint_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerQualitySummary > + ElectricPowerQualitySummary_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ElectricPowerUsageSummary > + ElectricPowerUsageSummary_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::DateTimeInterval > + DateTimeInterval_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::SummaryMeasurement > + SummaryMeasurement_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::BatchItemInfo > + BatchItemInfo_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::Object > + Object_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::Object > + Object_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::ServiceStatus > + ServiceStatus_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::espi::TimeConfiguration > + LocalTimeParameters (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace espi +{ + // Serialize to std::ostream. + // + + void + IntervalBlock_ (::std::ostream& os, + const ::espi::IntervalBlock& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalBlock_ (::std::ostream& os, + const ::espi::IntervalBlock& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalBlock_ (::std::ostream& os, + const ::espi::IntervalBlock& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalBlock& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalBlock& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalBlock_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalBlock& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + IntervalBlock_ (::xercesc::DOMDocument& d, + const ::espi::IntervalBlock& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IntervalBlock_ (const ::espi::IntervalBlock& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + IntervalReading_ (::std::ostream& os, + const ::espi::IntervalReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalReading_ (::std::ostream& os, + const ::espi::IntervalReading& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalReading_ (::std::ostream& os, + const ::espi::IntervalReading& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + IntervalReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalReading& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IntervalReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IntervalReading& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + IntervalReading_ (::xercesc::DOMDocument& d, + const ::espi::IntervalReading& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IntervalReading_ (const ::espi::IntervalReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + MeterReading_ (::std::ostream& os, + const ::espi::MeterReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MeterReading_ (::std::ostream& os, + const ::espi::MeterReading& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MeterReading_ (::std::ostream& os, + const ::espi::MeterReading& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + MeterReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::MeterReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MeterReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::MeterReading& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MeterReading_ (::xercesc::XMLFormatTarget& ft, + const ::espi::MeterReading& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + MeterReading_ (::xercesc::DOMDocument& d, + const ::espi::MeterReading& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + MeterReading_ (const ::espi::MeterReading& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + ReadingQuality_ (::std::ostream& os, + const ::espi::ReadingQuality& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingQuality_ (::std::ostream& os, + const ::espi::ReadingQuality& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingQuality_ (::std::ostream& os, + const ::espi::ReadingQuality& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingQuality& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingQuality& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingQuality_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingQuality& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ReadingQuality_ (::xercesc::DOMDocument& d, + const ::espi::ReadingQuality& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReadingQuality_ (const ::espi::ReadingQuality& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + ReadingType_ (::std::ostream& os, + const ::espi::ReadingType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingType_ (::std::ostream& os, + const ::espi::ReadingType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingType_ (::std::ostream& os, + const ::espi::ReadingType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ReadingType_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingType_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReadingType_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ReadingType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ReadingType_ (::xercesc::DOMDocument& d, + const ::espi::ReadingType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReadingType_ (const ::espi::ReadingType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + IdentifiedObject_ (::std::ostream& os, + const ::espi::IdentifiedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IdentifiedObject_ (::std::ostream& os, + const ::espi::IdentifiedObject& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IdentifiedObject_ (::std::ostream& os, + const ::espi::IdentifiedObject& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IdentifiedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IdentifiedObject& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + IdentifiedObject_ (::xercesc::XMLFormatTarget& ft, + const ::espi::IdentifiedObject& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + IdentifiedObject_ (::xercesc::DOMDocument& d, + const ::espi::IdentifiedObject& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + IdentifiedObject_ (const ::espi::IdentifiedObject& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + UsagePoint_ (::std::ostream& os, + const ::espi::UsagePoint& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + UsagePoint_ (::std::ostream& os, + const ::espi::UsagePoint& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + UsagePoint_ (::std::ostream& os, + const ::espi::UsagePoint& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + UsagePoint_ (::xercesc::XMLFormatTarget& ft, + const ::espi::UsagePoint& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + UsagePoint_ (::xercesc::XMLFormatTarget& ft, + const ::espi::UsagePoint& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + UsagePoint_ (::xercesc::XMLFormatTarget& ft, + const ::espi::UsagePoint& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + UsagePoint_ (::xercesc::DOMDocument& d, + const ::espi::UsagePoint& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + UsagePoint_ (const ::espi::UsagePoint& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + ElectricPowerQualitySummary_ (::std::ostream& os, + const ::espi::ElectricPowerQualitySummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerQualitySummary_ (::std::ostream& os, + const ::espi::ElectricPowerQualitySummary& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerQualitySummary_ (::std::ostream& os, + const ::espi::ElectricPowerQualitySummary& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerQualitySummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerQualitySummary& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerQualitySummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerQualitySummary& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ElectricPowerQualitySummary_ (::xercesc::DOMDocument& d, + const ::espi::ElectricPowerQualitySummary& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ElectricPowerQualitySummary_ (const ::espi::ElectricPowerQualitySummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + ElectricPowerUsageSummary_ (::std::ostream& os, + const ::espi::ElectricPowerUsageSummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerUsageSummary_ (::std::ostream& os, + const ::espi::ElectricPowerUsageSummary& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerUsageSummary_ (::std::ostream& os, + const ::espi::ElectricPowerUsageSummary& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerUsageSummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerUsageSummary& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ElectricPowerUsageSummary_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ElectricPowerUsageSummary& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ElectricPowerUsageSummary_ (::xercesc::DOMDocument& d, + const ::espi::ElectricPowerUsageSummary& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ElectricPowerUsageSummary_ (const ::espi::ElectricPowerUsageSummary& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + DateTimeInterval_ (::std::ostream& os, + const ::espi::DateTimeInterval& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DateTimeInterval_ (::std::ostream& os, + const ::espi::DateTimeInterval& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DateTimeInterval_ (::std::ostream& os, + const ::espi::DateTimeInterval& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& ft, + const ::espi::DateTimeInterval& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& ft, + const ::espi::DateTimeInterval& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DateTimeInterval_ (::xercesc::XMLFormatTarget& ft, + const ::espi::DateTimeInterval& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + DateTimeInterval_ (::xercesc::DOMDocument& d, + const ::espi::DateTimeInterval& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DateTimeInterval_ (const ::espi::DateTimeInterval& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SummaryMeasurement_ (::std::ostream& os, + const ::espi::SummaryMeasurement& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SummaryMeasurement_ (::std::ostream& os, + const ::espi::SummaryMeasurement& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SummaryMeasurement_ (::std::ostream& os, + const ::espi::SummaryMeasurement& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& ft, + const ::espi::SummaryMeasurement& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& ft, + const ::espi::SummaryMeasurement& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SummaryMeasurement_ (::xercesc::XMLFormatTarget& ft, + const ::espi::SummaryMeasurement& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SummaryMeasurement_ (::xercesc::DOMDocument& d, + const ::espi::SummaryMeasurement& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SummaryMeasurement_ (const ::espi::SummaryMeasurement& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + BatchItemInfo_ (::std::ostream& os, + const ::espi::BatchItemInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + BatchItemInfo_ (::std::ostream& os, + const ::espi::BatchItemInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + BatchItemInfo_ (::std::ostream& os, + const ::espi::BatchItemInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& ft, + const ::espi::BatchItemInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& ft, + const ::espi::BatchItemInfo& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + BatchItemInfo_ (::xercesc::XMLFormatTarget& ft, + const ::espi::BatchItemInfo& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + BatchItemInfo_ (::xercesc::DOMDocument& d, + const ::espi::BatchItemInfo& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + BatchItemInfo_ (const ::espi::BatchItemInfo& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Object_ (::std::ostream& os, + const ::espi::Object& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object_ (::std::ostream& os, + const ::espi::Object& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object_ (::std::ostream& os, + const ::espi::Object& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Object_ (::xercesc::XMLFormatTarget& ft, + const ::espi::Object& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object_ (::xercesc::XMLFormatTarget& ft, + const ::espi::Object& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object_ (::xercesc::XMLFormatTarget& ft, + const ::espi::Object& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Object_ (::xercesc::DOMDocument& d, + const ::espi::Object& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Object_ (const ::espi::Object& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + ServiceStatus_ (::std::ostream& os, + const ::espi::ServiceStatus& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ServiceStatus_ (::std::ostream& os, + const ::espi::ServiceStatus& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ServiceStatus_ (::std::ostream& os, + const ::espi::ServiceStatus& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ServiceStatus& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ServiceStatus& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ServiceStatus_ (::xercesc::XMLFormatTarget& ft, + const ::espi::ServiceStatus& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ServiceStatus_ (::xercesc::DOMDocument& d, + const ::espi::ServiceStatus& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ServiceStatus_ (const ::espi::ServiceStatus& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + LocalTimeParameters (::std::ostream& os, + const ::espi::TimeConfiguration& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + LocalTimeParameters (::std::ostream& os, + const ::espi::TimeConfiguration& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + LocalTimeParameters (::std::ostream& os, + const ::espi::TimeConfiguration& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& ft, + const ::espi::TimeConfiguration& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& ft, + const ::espi::TimeConfiguration& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + LocalTimeParameters (::xercesc::XMLFormatTarget& ft, + const ::espi::TimeConfiguration& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + LocalTimeParameters (::xercesc::DOMDocument& d, + const ::espi::TimeConfiguration& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + LocalTimeParameters (const ::espi::TimeConfiguration& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_GREENBUTTON_HXX diff --git a/oadrsd/oadrsd/2b/oadr_power_20b.cxx b/oadrsd/oadrsd/2b/oadr_power_20b.cxx new file mode 100644 index 0000000..64cad31 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_power_20b.cxx @@ -0,0 +1,8953 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_power_20b.hxx" + +namespace power +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace power +{ + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::VoltageType > + _xsd_voltage_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::EnergyApparentType > + _xsd_energyApparent_element_factory_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::EnergyReactiveType > + _xsd_energyReactive_element_factory_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::EnergyRealType > + _xsd_energyReal_element_factory_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::EnergyItemType > + _xsd_energyItem_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::PowerApparentType > + _xsd_powerApparent_element_factory_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::PowerReactiveType > + _xsd_powerReactive_element_factory_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::PowerRealType > + _xsd_powerReal_element_factory_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + static + const ::xsd::cxx::tree::element_factory_initializer< 0, char, ::power::PowerItemType > + _xsd_powerItem_element_factory_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); +} + +#include +#include +#include + +namespace power +{ + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::endDeviceAsset (isrc, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::endDeviceAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::endDeviceAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::endDeviceAsset (isrc, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::endDeviceAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::endDeviceAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::EndDeviceAssetType > ( + ::power::endDeviceAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EndDeviceAssetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::EndDeviceAssetType > r ( + dynamic_cast< ::power::EndDeviceAssetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EndDeviceAssetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::EndDeviceAssetType > r ( + dynamic_cast< ::power::EndDeviceAssetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::meterAsset (isrc, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::meterAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::meterAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::meterAsset (isrc, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::meterAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::meterAsset (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::MeterAssetType > ( + ::power::meterAsset ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::MeterAssetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::MeterAssetType > r ( + dynamic_cast< ::power::MeterAssetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::MeterAssetType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::MeterAssetType > r ( + dynamic_cast< ::power::MeterAssetType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::pnode (isrc, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::pnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::pnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::pnode (isrc, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::pnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::pnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PnodeType > ( + ::power::pnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PnodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PnodeType > r ( + dynamic_cast< ::power::PnodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PnodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PnodeType > r ( + dynamic_cast< ::power::PnodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::aggregatedPnode (isrc, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::aggregatedPnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::aggregatedPnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::aggregatedPnode (isrc, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::aggregatedPnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::aggregatedPnode (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::AggregatedPnodeType > ( + ::power::aggregatedPnode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::AggregatedPnodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::AggregatedPnodeType > r ( + dynamic_cast< ::power::AggregatedPnodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::AggregatedPnodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::AggregatedPnodeType > r ( + dynamic_cast< ::power::AggregatedPnodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceLocation (isrc, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceLocation (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceLocation (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceLocation (isrc, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceLocation (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceLocation (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::ServiceLocationType > ( + ::power::serviceLocation ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::ServiceLocationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::ServiceLocationType > r ( + dynamic_cast< ::power::ServiceLocationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::ServiceLocationType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::ServiceLocationType > r ( + dynamic_cast< ::power::ServiceLocationType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceDeliveryPoint (isrc, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceDeliveryPoint (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::serviceDeliveryPoint (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceDeliveryPoint (isrc, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceDeliveryPoint (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::serviceDeliveryPoint (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::ServiceDeliveryPointType > ( + ::power::serviceDeliveryPoint ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::ServiceDeliveryPointType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::ServiceDeliveryPointType > r ( + dynamic_cast< ::power::ServiceDeliveryPointType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::ServiceDeliveryPointType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > r ( + dynamic_cast< ::power::ServiceDeliveryPointType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::transportInterface (isrc, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::transportInterface (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::transportInterface (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::transportInterface (isrc, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::transportInterface (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::transportInterface (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::TransportInterfaceType > ( + ::power::transportInterface ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::TransportInterfaceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::TransportInterfaceType > r ( + dynamic_cast< ::power::TransportInterfaceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::TransportInterfaceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::TransportInterfaceType > r ( + dynamic_cast< ::power::TransportInterfaceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::node (isrc, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::node (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::node (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::node (isrc, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::node (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::node (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::NodeType > + node (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::NodeType > ( + ::power::node ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::NodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::NodeType > r ( + dynamic_cast< ::power::NodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::NodeType > + node (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::NodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::NodeType > r ( + dynamic_cast< ::power::NodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::mrid (isrc, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::mrid (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::mrid (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::mrid (isrc, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::mrid (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::mrid (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::MridType > + mrid (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::MridType > ( + ::power::mrid ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::MridType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::MridType > r ( + dynamic_cast< ::power::MridType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::MridType > + mrid (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::MridType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::MridType > r ( + dynamic_cast< ::power::MridType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::voltage (isrc, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::voltage (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::voltage (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::voltage (isrc, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::voltage (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::voltage (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::VoltageType > ( + ::power::voltage ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::VoltageType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::VoltageType > r ( + dynamic_cast< ::power::VoltageType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::VoltageType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::VoltageType > r ( + dynamic_cast< ::power::VoltageType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyApparent (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyApparent (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::EnergyApparentType > ( + ::power::energyApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyApparentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::EnergyApparentType > r ( + dynamic_cast< ::power::EnergyApparentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyApparentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::EnergyApparentType > r ( + dynamic_cast< ::power::EnergyApparentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReactive (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReactive (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::EnergyReactiveType > ( + ::power::energyReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyReactiveType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::EnergyReactiveType > r ( + dynamic_cast< ::power::EnergyReactiveType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyReactiveType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::EnergyReactiveType > r ( + dynamic_cast< ::power::EnergyReactiveType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReal (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReal (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::EnergyRealType > ( + ::power::energyReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyRealType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::EnergyRealType > r ( + dynamic_cast< ::power::EnergyRealType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyRealType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::EnergyRealType > r ( + dynamic_cast< ::power::EnergyRealType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyItem (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::energyItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyItem (isrc, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::energyItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::EnergyItemType > ( + ::power::energyItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyItemType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::EnergyItemType > r ( + dynamic_cast< ::power::EnergyItemType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::EnergyItemType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::EnergyItemType > r ( + dynamic_cast< ::power::EnergyItemType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerApparent (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerApparent (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerApparent (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PowerApparentType > ( + ::power::powerApparent ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerApparentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PowerApparentType > r ( + dynamic_cast< ::power::PowerApparentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerApparentType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PowerApparentType > r ( + dynamic_cast< ::power::PowerApparentType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReactive (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReactive (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReactive (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PowerReactiveType > ( + ::power::powerReactive ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerReactiveType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PowerReactiveType > r ( + dynamic_cast< ::power::PowerReactiveType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerReactiveType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PowerReactiveType > r ( + dynamic_cast< ::power::PowerReactiveType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReal (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReal (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerReal (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PowerRealType > ( + ::power::powerReal ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerRealType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PowerRealType > r ( + dynamic_cast< ::power::PowerRealType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerRealType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PowerRealType > r ( + dynamic_cast< ::power::PowerRealType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerItem (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerItem (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerItem (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PowerItemType > ( + ::power::powerItem ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerItemType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PowerItemType > r ( + dynamic_cast< ::power::PowerItemType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerItemType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PowerItemType > r ( + dynamic_cast< ::power::PowerItemType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerAttributes (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerAttributes (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::power::powerAttributes (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerAttributes (isrc, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerAttributes (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::power::powerAttributes (isrc, h, f, p); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::power::PowerAttributesType > ( + ::power::powerAttributes ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerAttributesType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::power::PowerAttributesType > r ( + dynamic_cast< ::power::PowerAttributesType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + &::xsd::cxx::tree::factory_impl< ::power::PowerAttributesType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::power::PowerAttributesType > r ( + dynamic_cast< ::power::PowerAttributesType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace power +{ + void + endDeviceAsset (::std::ostream& o, + const ::power::EndDeviceAssetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + endDeviceAsset (::std::ostream& o, + const ::power::EndDeviceAssetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + endDeviceAsset (::std::ostream& o, + const ::power::EndDeviceAssetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + endDeviceAsset (::xercesc::XMLFormatTarget& t, + const ::power::EndDeviceAssetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + endDeviceAsset (::xercesc::XMLFormatTarget& t, + const ::power::EndDeviceAssetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + endDeviceAsset (::xercesc::XMLFormatTarget& t, + const ::power::EndDeviceAssetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::endDeviceAsset (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + endDeviceAsset (::xercesc::DOMDocument& d, + const ::power::EndDeviceAssetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::EndDeviceAssetType) == typeid (s)) + { + if (n.name () == "endDeviceAsset" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + endDeviceAsset (const ::power::EndDeviceAssetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::EndDeviceAssetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "endDeviceAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::endDeviceAsset (*d, s, f); + return d; + } + + void + meterAsset (::std::ostream& o, + const ::power::MeterAssetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + meterAsset (::std::ostream& o, + const ::power::MeterAssetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + meterAsset (::std::ostream& o, + const ::power::MeterAssetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + meterAsset (::xercesc::XMLFormatTarget& t, + const ::power::MeterAssetType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + meterAsset (::xercesc::XMLFormatTarget& t, + const ::power::MeterAssetType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + meterAsset (::xercesc::XMLFormatTarget& t, + const ::power::MeterAssetType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::meterAsset (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + meterAsset (::xercesc::DOMDocument& d, + const ::power::MeterAssetType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::MeterAssetType) == typeid (s)) + { + if (n.name () == "meterAsset" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + meterAsset (const ::power::MeterAssetType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::MeterAssetType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "meterAsset", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::meterAsset (*d, s, f); + return d; + } + + void + pnode (::std::ostream& o, + const ::power::PnodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pnode (::std::ostream& o, + const ::power::PnodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pnode (::std::ostream& o, + const ::power::PnodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pnode (::xercesc::XMLFormatTarget& t, + const ::power::PnodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + pnode (::xercesc::XMLFormatTarget& t, + const ::power::PnodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pnode (::xercesc::XMLFormatTarget& t, + const ::power::PnodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::pnode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + pnode (::xercesc::DOMDocument& d, + const ::power::PnodeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PnodeType) == typeid (s)) + { + if (n.name () == "pnode" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pnode (const ::power::PnodeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PnodeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "pnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::pnode (*d, s, f); + return d; + } + + void + aggregatedPnode (::std::ostream& o, + const ::power::AggregatedPnodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + aggregatedPnode (::std::ostream& o, + const ::power::AggregatedPnodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + aggregatedPnode (::std::ostream& o, + const ::power::AggregatedPnodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + aggregatedPnode (::xercesc::XMLFormatTarget& t, + const ::power::AggregatedPnodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + aggregatedPnode (::xercesc::XMLFormatTarget& t, + const ::power::AggregatedPnodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + aggregatedPnode (::xercesc::XMLFormatTarget& t, + const ::power::AggregatedPnodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::aggregatedPnode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + aggregatedPnode (::xercesc::DOMDocument& d, + const ::power::AggregatedPnodeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::AggregatedPnodeType) == typeid (s)) + { + if (n.name () == "aggregatedPnode" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + aggregatedPnode (const ::power::AggregatedPnodeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::AggregatedPnodeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "aggregatedPnode", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::aggregatedPnode (*d, s, f); + return d; + } + + void + serviceLocation (::std::ostream& o, + const ::power::ServiceLocationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceLocation (::std::ostream& o, + const ::power::ServiceLocationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceLocation (::std::ostream& o, + const ::power::ServiceLocationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceLocation (::xercesc::XMLFormatTarget& t, + const ::power::ServiceLocationType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceLocation (::xercesc::XMLFormatTarget& t, + const ::power::ServiceLocationType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceLocation (::xercesc::XMLFormatTarget& t, + const ::power::ServiceLocationType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceLocation (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceLocation (::xercesc::DOMDocument& d, + const ::power::ServiceLocationType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::ServiceLocationType) == typeid (s)) + { + if (n.name () == "serviceLocation" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceLocation (const ::power::ServiceLocationType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::ServiceLocationType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceLocation", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::serviceLocation (*d, s, f); + return d; + } + + void + serviceDeliveryPoint (::std::ostream& o, + const ::power::ServiceDeliveryPointType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceDeliveryPoint (::std::ostream& o, + const ::power::ServiceDeliveryPointType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceDeliveryPoint (::std::ostream& o, + const ::power::ServiceDeliveryPointType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& t, + const ::power::ServiceDeliveryPointType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& t, + const ::power::ServiceDeliveryPointType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& t, + const ::power::ServiceDeliveryPointType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::serviceDeliveryPoint (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + serviceDeliveryPoint (::xercesc::DOMDocument& d, + const ::power::ServiceDeliveryPointType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::ServiceDeliveryPointType) == typeid (s)) + { + if (n.name () == "serviceDeliveryPoint" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceDeliveryPoint (const ::power::ServiceDeliveryPointType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::ServiceDeliveryPointType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "serviceDeliveryPoint", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::serviceDeliveryPoint (*d, s, f); + return d; + } + + void + transportInterface (::std::ostream& o, + const ::power::TransportInterfaceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + transportInterface (::std::ostream& o, + const ::power::TransportInterfaceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + transportInterface (::std::ostream& o, + const ::power::TransportInterfaceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + transportInterface (::xercesc::XMLFormatTarget& t, + const ::power::TransportInterfaceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + transportInterface (::xercesc::XMLFormatTarget& t, + const ::power::TransportInterfaceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + transportInterface (::xercesc::XMLFormatTarget& t, + const ::power::TransportInterfaceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::transportInterface (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + transportInterface (::xercesc::DOMDocument& d, + const ::power::TransportInterfaceType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::TransportInterfaceType) == typeid (s)) + { + if (n.name () == "transportInterface" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + transportInterface (const ::power::TransportInterfaceType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::TransportInterfaceType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "transportInterface", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::transportInterface (*d, s, f); + return d; + } + + void + node (::std::ostream& o, + const ::power::NodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + node (::std::ostream& o, + const ::power::NodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + node (::std::ostream& o, + const ::power::NodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + node (::xercesc::XMLFormatTarget& t, + const ::power::NodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + node (::xercesc::XMLFormatTarget& t, + const ::power::NodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + node (::xercesc::XMLFormatTarget& t, + const ::power::NodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::node (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + node (::xercesc::DOMDocument& d, + const ::power::NodeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::NodeType) == typeid (s)) + { + if (n.name () == "node" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + node (const ::power::NodeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::NodeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "node", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::node (*d, s, f); + return d; + } + + void + mrid (::std::ostream& o, + const ::power::MridType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + mrid (::std::ostream& o, + const ::power::MridType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + mrid (::std::ostream& o, + const ::power::MridType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + mrid (::xercesc::XMLFormatTarget& t, + const ::power::MridType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + mrid (::xercesc::XMLFormatTarget& t, + const ::power::MridType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + mrid (::xercesc::XMLFormatTarget& t, + const ::power::MridType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::mrid (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + mrid (::xercesc::DOMDocument& d, + const ::power::MridType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::MridType) == typeid (s)) + { + if (n.name () == "mrid" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + mrid (const ::power::MridType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::MridType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "mrid", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::mrid (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::VoltageType > + _xsd_voltage_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + voltage (::std::ostream& o, + const ::power::VoltageType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + voltage (::std::ostream& o, + const ::power::VoltageType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + voltage (::std::ostream& o, + const ::power::VoltageType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + voltage (::xercesc::XMLFormatTarget& t, + const ::power::VoltageType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + voltage (::xercesc::XMLFormatTarget& t, + const ::power::VoltageType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + voltage (::xercesc::XMLFormatTarget& t, + const ::power::VoltageType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::voltage (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + voltage (::xercesc::DOMDocument& d, + const ::power::VoltageType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::VoltageType) == typeid (s)) + { + if (n.name () == "voltage" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + voltage (const ::power::VoltageType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::VoltageType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "voltage", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::voltage (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::EnergyApparentType > + _xsd_energyApparent_element_serializer_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + energyApparent (::std::ostream& o, + const ::power::EnergyApparentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyApparent (::std::ostream& o, + const ::power::EnergyApparentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyApparent (::std::ostream& o, + const ::power::EnergyApparentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyApparent (::xercesc::XMLFormatTarget& t, + const ::power::EnergyApparentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyApparent (::xercesc::XMLFormatTarget& t, + const ::power::EnergyApparentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyApparent (::xercesc::XMLFormatTarget& t, + const ::power::EnergyApparentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyApparent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyApparent (::xercesc::DOMDocument& d, + const ::power::EnergyApparentType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::EnergyApparentType) == typeid (s)) + { + if (n.name () == "energyApparent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyApparent (const ::power::EnergyApparentType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::EnergyApparentType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::energyApparent (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::EnergyReactiveType > + _xsd_energyReactive_element_serializer_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + energyReactive (::std::ostream& o, + const ::power::EnergyReactiveType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyReactive (::std::ostream& o, + const ::power::EnergyReactiveType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReactive (::std::ostream& o, + const ::power::EnergyReactiveType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReactive (::xercesc::XMLFormatTarget& t, + const ::power::EnergyReactiveType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyReactive (::xercesc::XMLFormatTarget& t, + const ::power::EnergyReactiveType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReactive (::xercesc::XMLFormatTarget& t, + const ::power::EnergyReactiveType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReactive (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReactive (::xercesc::DOMDocument& d, + const ::power::EnergyReactiveType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::EnergyReactiveType) == typeid (s)) + { + if (n.name () == "energyReactive" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyReactive (const ::power::EnergyReactiveType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::EnergyReactiveType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::energyReactive (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::EnergyRealType > + _xsd_energyReal_element_serializer_init ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + energyReal (::std::ostream& o, + const ::power::EnergyRealType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyReal (::std::ostream& o, + const ::power::EnergyRealType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReal (::std::ostream& o, + const ::power::EnergyRealType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReal (::xercesc::XMLFormatTarget& t, + const ::power::EnergyRealType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyReal (::xercesc::XMLFormatTarget& t, + const ::power::EnergyRealType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReal (::xercesc::XMLFormatTarget& t, + const ::power::EnergyRealType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyReal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyReal (::xercesc::DOMDocument& d, + const ::power::EnergyRealType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::EnergyRealType) == typeid (s)) + { + if (n.name () == "energyReal" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyReal (const ::power::EnergyRealType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::EnergyRealType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::energyReal (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::EnergyItemType > + _xsd_energyItem_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + energyItem (::std::ostream& o, + const ::power::EnergyItemType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyItem (::std::ostream& o, + const ::power::EnergyItemType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyItem (::std::ostream& o, + const ::power::EnergyItemType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyItem (::xercesc::XMLFormatTarget& t, + const ::power::EnergyItemType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + energyItem (::xercesc::XMLFormatTarget& t, + const ::power::EnergyItemType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyItem (::xercesc::XMLFormatTarget& t, + const ::power::EnergyItemType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::energyItem (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + energyItem (::xercesc::DOMDocument& d, + const ::power::EnergyItemType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::EnergyItemType) == typeid (s)) + { + if (n.name () == "energyItem" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyItem (const ::power::EnergyItemType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::EnergyItemType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "energyItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::energyItem (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::PowerApparentType > + _xsd_powerApparent_element_serializer_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + powerApparent (::std::ostream& o, + const ::power::PowerApparentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerApparent (::std::ostream& o, + const ::power::PowerApparentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerApparent (::std::ostream& o, + const ::power::PowerApparentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerApparent (::xercesc::XMLFormatTarget& t, + const ::power::PowerApparentType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerApparent (::xercesc::XMLFormatTarget& t, + const ::power::PowerApparentType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerApparent (::xercesc::XMLFormatTarget& t, + const ::power::PowerApparentType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerApparent (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerApparent (::xercesc::DOMDocument& d, + const ::power::PowerApparentType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PowerApparentType) == typeid (s)) + { + if (n.name () == "powerApparent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerApparent (const ::power::PowerApparentType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PowerApparentType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerApparent", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::powerApparent (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::PowerReactiveType > + _xsd_powerReactive_element_serializer_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + powerReactive (::std::ostream& o, + const ::power::PowerReactiveType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerReactive (::std::ostream& o, + const ::power::PowerReactiveType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReactive (::std::ostream& o, + const ::power::PowerReactiveType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReactive (::xercesc::XMLFormatTarget& t, + const ::power::PowerReactiveType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerReactive (::xercesc::XMLFormatTarget& t, + const ::power::PowerReactiveType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReactive (::xercesc::XMLFormatTarget& t, + const ::power::PowerReactiveType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReactive (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReactive (::xercesc::DOMDocument& d, + const ::power::PowerReactiveType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PowerReactiveType) == typeid (s)) + { + if (n.name () == "powerReactive" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerReactive (const ::power::PowerReactiveType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PowerReactiveType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerReactive", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::powerReactive (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::PowerRealType > + _xsd_powerReal_element_serializer_init ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + powerReal (::std::ostream& o, + const ::power::PowerRealType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerReal (::std::ostream& o, + const ::power::PowerRealType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReal (::std::ostream& o, + const ::power::PowerRealType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReal (::xercesc::XMLFormatTarget& t, + const ::power::PowerRealType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerReal (::xercesc::XMLFormatTarget& t, + const ::power::PowerRealType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReal (::xercesc::XMLFormatTarget& t, + const ::power::PowerRealType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerReal (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerReal (::xercesc::DOMDocument& d, + const ::power::PowerRealType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PowerRealType) == typeid (s)) + { + if (n.name () == "powerReal" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerReal (const ::power::PowerRealType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PowerRealType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerReal", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::powerReal (*d, s, f); + return d; + } + + static + const ::xsd::cxx::tree::element_serializer_initializer< 0, char, ::power::PowerItemType > + _xsd_powerItem_element_serializer_init ( + "itemBase", + "http://docs.oasis-open.org/ns/emix/2011/06", + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + + + void + powerItem (::std::ostream& o, + const ::power::PowerItemType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerItem (::std::ostream& o, + const ::power::PowerItemType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerItem (::std::ostream& o, + const ::power::PowerItemType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerItem (::xercesc::XMLFormatTarget& t, + const ::power::PowerItemType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerItem (::xercesc::XMLFormatTarget& t, + const ::power::PowerItemType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerItem (::xercesc::XMLFormatTarget& t, + const ::power::PowerItemType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerItem (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerItem (::xercesc::DOMDocument& d, + const ::power::PowerItemType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PowerItemType) == typeid (s)) + { + if (n.name () == "powerItem" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerItem (const ::power::PowerItemType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PowerItemType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerItem", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::powerItem (*d, s, f); + return d; + } + + void + powerAttributes (::std::ostream& o, + const ::power::PowerAttributesType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerAttributes (::std::ostream& o, + const ::power::PowerAttributesType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerAttributes (::std::ostream& o, + const ::power::PowerAttributesType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerAttributes (::xercesc::XMLFormatTarget& t, + const ::power::PowerAttributesType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + powerAttributes (::xercesc::XMLFormatTarget& t, + const ::power::PowerAttributesType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerAttributes (::xercesc::XMLFormatTarget& t, + const ::power::PowerAttributesType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::power::powerAttributes (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + powerAttributes (::xercesc::DOMDocument& d, + const ::power::PowerAttributesType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::power::PowerAttributesType) == typeid (s)) + { + if (n.name () == "powerAttributes" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/power") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerAttributes (const ::power::PowerAttributesType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::power::PowerAttributesType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "powerAttributes", + "http://docs.oasis-open.org/ns/emix/2011/06/power", + m, s, f); + } + + ::power::powerAttributes (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_power_20b.hxx b/oadrsd/oadrsd/2b/oadr_power_20b.hxx new file mode 100644 index 0000000..a90b0a6 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_power_20b.hxx @@ -0,0 +1,3404 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_POWER_20B_HXX +#define OADR_POWER_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace power +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_gml_20b.hxx" + +#include "oadr_emix_20b.hxx" + +#include "oadr_siscale_20b.hxx" + +#include "EndDeviceAssetType.hxx" + +#include "MeterAssetType.hxx" + +#include "PnodeType.hxx" + +#include "AggregatedPnodeType.hxx" + +#include "ServiceLocationType.hxx" + +#include "ServiceDeliveryPointType.hxx" + +#include "TransportInterfaceType.hxx" + +#include "NodeType.hxx" + +#include "MridType.hxx" + +#include "VoltageType.hxx" + +#include "EnergyApparentType.hxx" + +#include "EnergyReactiveType.hxx" + +#include "EnergyRealType.hxx" + +#include "EnergyItemType.hxx" + +#include "PowerApparentType.hxx" + +#include "PowerReactiveType.hxx" + +#include "PowerRealType.hxx" + +#include "PowerItemType.hxx" + +#include "PowerAttributesType.hxx" + +namespace power +{ +} + +#include + +#include +#include +#include + +namespace power +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EndDeviceAssetType > + endDeviceAsset (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MeterAssetType > + meterAsset (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PnodeType > + pnode (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PnodeType > + pnode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::AggregatedPnodeType > + aggregatedPnode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceLocationType > + serviceLocation (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::ServiceDeliveryPointType > + serviceDeliveryPoint (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::TransportInterfaceType > + transportInterface (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::NodeType > + node (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::NodeType > + node (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::MridType > + mrid (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::MridType > + mrid (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::VoltageType > + voltage (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::VoltageType > + voltage (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyApparentType > + energyApparent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyReactiveType > + energyReactive (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyRealType > + energyReal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::EnergyItemType > + energyItem (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerApparentType > + powerApparent (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerReactiveType > + powerReactive (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerRealType > + powerReal (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerItemType > + powerItem (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::power::PowerAttributesType > + powerAttributes (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace power +{ + // Serialize to std::ostream. + // + + void + endDeviceAsset (::std::ostream& os, + const ::power::EndDeviceAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + endDeviceAsset (::std::ostream& os, + const ::power::EndDeviceAssetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + endDeviceAsset (::std::ostream& os, + const ::power::EndDeviceAssetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + endDeviceAsset (::xercesc::XMLFormatTarget& ft, + const ::power::EndDeviceAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + endDeviceAsset (::xercesc::XMLFormatTarget& ft, + const ::power::EndDeviceAssetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + endDeviceAsset (::xercesc::XMLFormatTarget& ft, + const ::power::EndDeviceAssetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + endDeviceAsset (::xercesc::DOMDocument& d, + const ::power::EndDeviceAssetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + endDeviceAsset (const ::power::EndDeviceAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + meterAsset (::std::ostream& os, + const ::power::MeterAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + meterAsset (::std::ostream& os, + const ::power::MeterAssetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + meterAsset (::std::ostream& os, + const ::power::MeterAssetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + meterAsset (::xercesc::XMLFormatTarget& ft, + const ::power::MeterAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + meterAsset (::xercesc::XMLFormatTarget& ft, + const ::power::MeterAssetType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + meterAsset (::xercesc::XMLFormatTarget& ft, + const ::power::MeterAssetType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + meterAsset (::xercesc::DOMDocument& d, + const ::power::MeterAssetType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + meterAsset (const ::power::MeterAssetType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + pnode (::std::ostream& os, + const ::power::PnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pnode (::std::ostream& os, + const ::power::PnodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pnode (::std::ostream& os, + const ::power::PnodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + pnode (::xercesc::XMLFormatTarget& ft, + const ::power::PnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pnode (::xercesc::XMLFormatTarget& ft, + const ::power::PnodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + pnode (::xercesc::XMLFormatTarget& ft, + const ::power::PnodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + pnode (::xercesc::DOMDocument& d, + const ::power::PnodeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + pnode (const ::power::PnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + aggregatedPnode (::std::ostream& os, + const ::power::AggregatedPnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + aggregatedPnode (::std::ostream& os, + const ::power::AggregatedPnodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + aggregatedPnode (::std::ostream& os, + const ::power::AggregatedPnodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + aggregatedPnode (::xercesc::XMLFormatTarget& ft, + const ::power::AggregatedPnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + aggregatedPnode (::xercesc::XMLFormatTarget& ft, + const ::power::AggregatedPnodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + aggregatedPnode (::xercesc::XMLFormatTarget& ft, + const ::power::AggregatedPnodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + aggregatedPnode (::xercesc::DOMDocument& d, + const ::power::AggregatedPnodeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + aggregatedPnode (const ::power::AggregatedPnodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + serviceLocation (::std::ostream& os, + const ::power::ServiceLocationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceLocation (::std::ostream& os, + const ::power::ServiceLocationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceLocation (::std::ostream& os, + const ::power::ServiceLocationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serviceLocation (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceLocationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceLocation (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceLocationType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceLocation (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceLocationType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serviceLocation (::xercesc::DOMDocument& d, + const ::power::ServiceLocationType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceLocation (const ::power::ServiceLocationType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + serviceDeliveryPoint (::std::ostream& os, + const ::power::ServiceDeliveryPointType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceDeliveryPoint (::std::ostream& os, + const ::power::ServiceDeliveryPointType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceDeliveryPoint (::std::ostream& os, + const ::power::ServiceDeliveryPointType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceDeliveryPointType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceDeliveryPointType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + serviceDeliveryPoint (::xercesc::XMLFormatTarget& ft, + const ::power::ServiceDeliveryPointType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + serviceDeliveryPoint (::xercesc::DOMDocument& d, + const ::power::ServiceDeliveryPointType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + serviceDeliveryPoint (const ::power::ServiceDeliveryPointType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + transportInterface (::std::ostream& os, + const ::power::TransportInterfaceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + transportInterface (::std::ostream& os, + const ::power::TransportInterfaceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + transportInterface (::std::ostream& os, + const ::power::TransportInterfaceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + transportInterface (::xercesc::XMLFormatTarget& ft, + const ::power::TransportInterfaceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + transportInterface (::xercesc::XMLFormatTarget& ft, + const ::power::TransportInterfaceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + transportInterface (::xercesc::XMLFormatTarget& ft, + const ::power::TransportInterfaceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + transportInterface (::xercesc::DOMDocument& d, + const ::power::TransportInterfaceType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + transportInterface (const ::power::TransportInterfaceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + node (::std::ostream& os, + const ::power::NodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + node (::std::ostream& os, + const ::power::NodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + node (::std::ostream& os, + const ::power::NodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + node (::xercesc::XMLFormatTarget& ft, + const ::power::NodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + node (::xercesc::XMLFormatTarget& ft, + const ::power::NodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + node (::xercesc::XMLFormatTarget& ft, + const ::power::NodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + node (::xercesc::DOMDocument& d, + const ::power::NodeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + node (const ::power::NodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + mrid (::std::ostream& os, + const ::power::MridType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + mrid (::std::ostream& os, + const ::power::MridType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + mrid (::std::ostream& os, + const ::power::MridType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + mrid (::xercesc::XMLFormatTarget& ft, + const ::power::MridType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + mrid (::xercesc::XMLFormatTarget& ft, + const ::power::MridType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + mrid (::xercesc::XMLFormatTarget& ft, + const ::power::MridType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + mrid (::xercesc::DOMDocument& d, + const ::power::MridType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + mrid (const ::power::MridType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + voltage (::std::ostream& os, + const ::power::VoltageType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + voltage (::std::ostream& os, + const ::power::VoltageType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + voltage (::std::ostream& os, + const ::power::VoltageType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + voltage (::xercesc::XMLFormatTarget& ft, + const ::power::VoltageType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + voltage (::xercesc::XMLFormatTarget& ft, + const ::power::VoltageType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + voltage (::xercesc::XMLFormatTarget& ft, + const ::power::VoltageType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + voltage (::xercesc::DOMDocument& d, + const ::power::VoltageType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + voltage (const ::power::VoltageType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + energyApparent (::std::ostream& os, + const ::power::EnergyApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyApparent (::std::ostream& os, + const ::power::EnergyApparentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyApparent (::std::ostream& os, + const ::power::EnergyApparentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + energyApparent (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyApparent (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyApparentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyApparent (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyApparentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + energyApparent (::xercesc::DOMDocument& d, + const ::power::EnergyApparentType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyApparent (const ::power::EnergyApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + energyReactive (::std::ostream& os, + const ::power::EnergyReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReactive (::std::ostream& os, + const ::power::EnergyReactiveType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReactive (::std::ostream& os, + const ::power::EnergyReactiveType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + energyReactive (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReactive (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyReactiveType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReactive (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyReactiveType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + energyReactive (::xercesc::DOMDocument& d, + const ::power::EnergyReactiveType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyReactive (const ::power::EnergyReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + energyReal (::std::ostream& os, + const ::power::EnergyRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReal (::std::ostream& os, + const ::power::EnergyRealType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReal (::std::ostream& os, + const ::power::EnergyRealType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + energyReal (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReal (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyRealType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyReal (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyRealType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + energyReal (::xercesc::DOMDocument& d, + const ::power::EnergyRealType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyReal (const ::power::EnergyRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + energyItem (::std::ostream& os, + const ::power::EnergyItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyItem (::std::ostream& os, + const ::power::EnergyItemType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyItem (::std::ostream& os, + const ::power::EnergyItemType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + energyItem (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyItem (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyItemType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + energyItem (::xercesc::XMLFormatTarget& ft, + const ::power::EnergyItemType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + energyItem (::xercesc::DOMDocument& d, + const ::power::EnergyItemType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + energyItem (const ::power::EnergyItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + powerApparent (::std::ostream& os, + const ::power::PowerApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerApparent (::std::ostream& os, + const ::power::PowerApparentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerApparent (::std::ostream& os, + const ::power::PowerApparentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + powerApparent (::xercesc::XMLFormatTarget& ft, + const ::power::PowerApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerApparent (::xercesc::XMLFormatTarget& ft, + const ::power::PowerApparentType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerApparent (::xercesc::XMLFormatTarget& ft, + const ::power::PowerApparentType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + powerApparent (::xercesc::DOMDocument& d, + const ::power::PowerApparentType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerApparent (const ::power::PowerApparentType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + powerReactive (::std::ostream& os, + const ::power::PowerReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReactive (::std::ostream& os, + const ::power::PowerReactiveType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReactive (::std::ostream& os, + const ::power::PowerReactiveType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + powerReactive (::xercesc::XMLFormatTarget& ft, + const ::power::PowerReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReactive (::xercesc::XMLFormatTarget& ft, + const ::power::PowerReactiveType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReactive (::xercesc::XMLFormatTarget& ft, + const ::power::PowerReactiveType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + powerReactive (::xercesc::DOMDocument& d, + const ::power::PowerReactiveType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerReactive (const ::power::PowerReactiveType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + powerReal (::std::ostream& os, + const ::power::PowerRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReal (::std::ostream& os, + const ::power::PowerRealType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReal (::std::ostream& os, + const ::power::PowerRealType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + powerReal (::xercesc::XMLFormatTarget& ft, + const ::power::PowerRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReal (::xercesc::XMLFormatTarget& ft, + const ::power::PowerRealType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerReal (::xercesc::XMLFormatTarget& ft, + const ::power::PowerRealType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + powerReal (::xercesc::DOMDocument& d, + const ::power::PowerRealType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerReal (const ::power::PowerRealType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + powerItem (::std::ostream& os, + const ::power::PowerItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerItem (::std::ostream& os, + const ::power::PowerItemType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerItem (::std::ostream& os, + const ::power::PowerItemType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + powerItem (::xercesc::XMLFormatTarget& ft, + const ::power::PowerItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerItem (::xercesc::XMLFormatTarget& ft, + const ::power::PowerItemType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerItem (::xercesc::XMLFormatTarget& ft, + const ::power::PowerItemType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + powerItem (::xercesc::DOMDocument& d, + const ::power::PowerItemType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerItem (const ::power::PowerItemType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + powerAttributes (::std::ostream& os, + const ::power::PowerAttributesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerAttributes (::std::ostream& os, + const ::power::PowerAttributesType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerAttributes (::std::ostream& os, + const ::power::PowerAttributesType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + powerAttributes (::xercesc::XMLFormatTarget& ft, + const ::power::PowerAttributesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerAttributes (::xercesc::XMLFormatTarget& ft, + const ::power::PowerAttributesType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + powerAttributes (::xercesc::XMLFormatTarget& ft, + const ::power::PowerAttributesType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + powerAttributes (::xercesc::DOMDocument& d, + const ::power::PowerAttributesType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + powerAttributes (const ::power::PowerAttributesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_POWER_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_pyld_20b.cxx b/oadrsd/oadrsd/2b/oadr_pyld_20b.cxx new file mode 100644 index 0000000..5ab8f6f --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_pyld_20b.cxx @@ -0,0 +1,2209 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_pyld_20b.hxx" + +namespace payloads +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace payloads +{ +} + +#include +#include +#include + +namespace payloads +{ + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::requestID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::requestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::requestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::requestID (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::requestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::requestID (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::payloads::requestID ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::replyLimit (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::replyLimit (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::replyLimit (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::replyLimit (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::replyLimit (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::replyLimit (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::unsigned_int > ( + ::payloads::replyLimit ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "replyLimit" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "replyLimit", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "replyLimit" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::xml_schema::unsigned_int > r ( + new ::xml_schema::unsigned_int ( + ::xsd::cxx::tree::traits< ::xml_schema::unsigned_int, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "replyLimit", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiRequestEvent_ (isrc, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiRequestEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiRequestEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiRequestEvent_ (isrc, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiRequestEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiRequestEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::payloads::eiRequestEvent > ( + ::payloads::eiRequestEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eiRequestEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::payloads::eiRequestEvent > r ( + ::xsd::cxx::tree::traits< ::payloads::eiRequestEvent, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "eiRequestEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::payloads::eiRequestEvent > r ( + ::xsd::cxx::tree::traits< ::payloads::eiRequestEvent, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiCreatedEvent_ (isrc, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiCreatedEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::eiCreatedEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiCreatedEvent_ (isrc, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiCreatedEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::eiCreatedEvent_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::payloads::eiCreatedEvent > ( + ::payloads::eiCreatedEvent_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eiCreatedEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::payloads::eiCreatedEvent > r ( + ::xsd::cxx::tree::traits< ::payloads::eiCreatedEvent, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "eiCreatedEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::payloads::eiCreatedEvent > r ( + ::xsd::cxx::tree::traits< ::payloads::eiCreatedEvent, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::reportToFollow (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::reportToFollow (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::payloads::reportToFollow (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::reportToFollow (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::reportToFollow (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::payloads::reportToFollow (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::boolean > ( + ::payloads::reportToFollow ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "reportToFollow" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "reportToFollow" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + ::std::auto_ptr< ::xml_schema::boolean > r ( + new ::xml_schema::boolean ( + ::xsd::cxx::tree::traits< ::xml_schema::boolean, char >::create ( + e, f, 0))); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace payloads +{ + void + requestID (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + requestID (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + requestID (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + requestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + requestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + requestID (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::requestID (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + requestID (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "requestID" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + requestID (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "requestID", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, s, f); + } + + ::payloads::requestID (*d, s, f); + return d; + } + + void + replyLimit (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + replyLimit (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + replyLimit (::std::ostream& o, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + replyLimit (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + replyLimit (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + replyLimit (::xercesc::XMLFormatTarget& t, + const ::xml_schema::unsigned_int& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::replyLimit (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + replyLimit (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "replyLimit" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "replyLimit", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + replyLimit (const ::xml_schema::unsigned_int& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "replyLimit", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, f)); + + ::payloads::replyLimit (*d, s, f); + return d; + } + + void + eiRequestEvent_ (::std::ostream& o, + const ::payloads::eiRequestEvent& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiRequestEvent_ (::std::ostream& o, + const ::payloads::eiRequestEvent& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiRequestEvent_ (::std::ostream& o, + const ::payloads::eiRequestEvent& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiRequestEvent& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiRequestEvent& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiRequestEvent& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiRequestEvent_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiRequestEvent_ (::xercesc::DOMDocument& d, + const ::payloads::eiRequestEvent& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eiRequestEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiRequestEvent_ (const ::payloads::eiRequestEvent& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "eiRequestEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, f)); + + ::payloads::eiRequestEvent_ (*d, s, f); + return d; + } + + void + eiCreatedEvent_ (::std::ostream& o, + const ::payloads::eiCreatedEvent& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiCreatedEvent_ (::std::ostream& o, + const ::payloads::eiCreatedEvent& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiCreatedEvent_ (::std::ostream& o, + const ::payloads::eiCreatedEvent& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiCreatedEvent& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiCreatedEvent& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& t, + const ::payloads::eiCreatedEvent& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::eiCreatedEvent_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + eiCreatedEvent_ (::xercesc::DOMDocument& d, + const ::payloads::eiCreatedEvent& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "eiCreatedEvent" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiCreatedEvent_ (const ::payloads::eiCreatedEvent& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "eiCreatedEvent", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, f)); + + ::payloads::eiCreatedEvent_ (*d, s, f); + return d; + } + + void + reportToFollow (::std::ostream& o, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportToFollow (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportToFollow (::std::ostream& o, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportToFollow (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + reportToFollow (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportToFollow (::xercesc::XMLFormatTarget& t, + const ::xml_schema::boolean& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::payloads::reportToFollow (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + reportToFollow (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "reportToFollow" && + n.namespace_ () == "http://docs.oasis-open.org/ns/energyinterop/201110/payloads") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportToFollow (const ::xml_schema::boolean& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "reportToFollow", + "http://docs.oasis-open.org/ns/energyinterop/201110/payloads", + m, f)); + + ::payloads::reportToFollow (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_pyld_20b.hxx b/oadrsd/oadrsd/2b/oadr_pyld_20b.hxx new file mode 100644 index 0000000..e6df1a3 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_pyld_20b.hxx @@ -0,0 +1,1114 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_PYLD_20B_HXX +#define OADR_PYLD_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace payloads +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_emix_20b.hxx" + +#include "oadr_ei_20b.hxx" + +#include "eiRequestEvent.hxx" + +#include "eiCreatedEvent.hxx" + +namespace payloads +{ +} + +#include + +#include +#include +#include + +namespace payloads +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + requestID (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + requestID (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::unsigned_int > + replyLimit (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiRequestEvent > + eiRequestEvent_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::payloads::eiCreatedEvent > + eiCreatedEvent_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::boolean > + reportToFollow (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace payloads +{ + // Serialize to std::ostream. + // + + void + requestID (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + requestID (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + requestID (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + requestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + requestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + requestID (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + requestID (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + requestID (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + replyLimit (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + replyLimit (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + replyLimit (::std::ostream& os, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + replyLimit (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + replyLimit (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + replyLimit (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::unsigned_int& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + replyLimit (::xercesc::DOMDocument& d, + const ::xml_schema::unsigned_int& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + replyLimit (const ::xml_schema::unsigned_int& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiRequestEvent_ (::std::ostream& os, + const ::payloads::eiRequestEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiRequestEvent_ (::std::ostream& os, + const ::payloads::eiRequestEvent& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiRequestEvent_ (::std::ostream& os, + const ::payloads::eiRequestEvent& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiRequestEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiRequestEvent& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiRequestEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiRequestEvent& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiRequestEvent_ (::xercesc::DOMDocument& d, + const ::payloads::eiRequestEvent& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiRequestEvent_ (const ::payloads::eiRequestEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + eiCreatedEvent_ (::std::ostream& os, + const ::payloads::eiCreatedEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiCreatedEvent_ (::std::ostream& os, + const ::payloads::eiCreatedEvent& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiCreatedEvent_ (::std::ostream& os, + const ::payloads::eiCreatedEvent& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiCreatedEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiCreatedEvent& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + eiCreatedEvent_ (::xercesc::XMLFormatTarget& ft, + const ::payloads::eiCreatedEvent& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + eiCreatedEvent_ (::xercesc::DOMDocument& d, + const ::payloads::eiCreatedEvent& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + eiCreatedEvent_ (const ::payloads::eiCreatedEvent& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + reportToFollow (::std::ostream& os, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportToFollow (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportToFollow (::std::ostream& os, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + reportToFollow (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportToFollow (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + reportToFollow (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::boolean& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + reportToFollow (::xercesc::DOMDocument& d, + const ::xml_schema::boolean& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + reportToFollow (const ::xml_schema::boolean& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_PYLD_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_siscale_20b.cxx b/oadrsd/oadrsd/2b/oadr_siscale_20b.cxx new file mode 100644 index 0000000..fa3df82 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_siscale_20b.cxx @@ -0,0 +1,549 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_siscale_20b.hxx" + +namespace siscale +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace siscale +{ +} + +#include +#include +#include + +namespace siscale +{ + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::siscale::siScaleCode (isrc, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::siscale::siScaleCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::siscale::siScaleCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::siscale::siScaleCode (isrc, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::siscale::siScaleCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::siscale::siScaleCode (isrc, h, f, p); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::siscale::SiScaleCodeType > ( + ::siscale::siScaleCode ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< ::siscale::SiScaleCodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::siscale::SiScaleCodeType > r ( + dynamic_cast< ::siscale::SiScaleCodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< ::siscale::SiScaleCodeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::siscale::SiScaleCodeType > r ( + dynamic_cast< ::siscale::SiScaleCodeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace siscale +{ + void + siScaleCode (::std::ostream& o, + const ::siscale::SiScaleCodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + siScaleCode (::std::ostream& o, + const ::siscale::SiScaleCodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + siScaleCode (::std::ostream& o, + const ::siscale::SiScaleCodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + siScaleCode (::xercesc::XMLFormatTarget& t, + const ::siscale::SiScaleCodeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + siScaleCode (::xercesc::XMLFormatTarget& t, + const ::siscale::SiScaleCodeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + siScaleCode (::xercesc::XMLFormatTarget& t, + const ::siscale::SiScaleCodeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::siscale::siScaleCode (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + siScaleCode (::xercesc::DOMDocument& d, + const ::siscale::SiScaleCodeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::siscale::SiScaleCodeType) == typeid (s)) + { + if (n.name () == "siScaleCode" && + n.namespace_ () == "http://docs.oasis-open.org/ns/emix/2011/06/siscale") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + siScaleCode (const ::siscale::SiScaleCodeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::siscale::SiScaleCodeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + m, s, f); + } + + ::siscale::siScaleCode (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_siscale_20b.hxx b/oadrsd/oadrsd/2b/oadr_siscale_20b.hxx new file mode 100644 index 0000000..b6569e3 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_siscale_20b.hxx @@ -0,0 +1,464 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_SISCALE_20B_HXX +#define OADR_SISCALE_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace siscale +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "SiScaleCodeType.hxx" + +namespace siscale +{ +} + +#include + +#include +#include +#include + +namespace siscale +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::siscale::SiScaleCodeType > + siScaleCode (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace siscale +{ + // Serialize to std::ostream. + // + + void + siScaleCode (::std::ostream& os, + const ::siscale::SiScaleCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + siScaleCode (::std::ostream& os, + const ::siscale::SiScaleCodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + siScaleCode (::std::ostream& os, + const ::siscale::SiScaleCodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + siScaleCode (::xercesc::XMLFormatTarget& ft, + const ::siscale::SiScaleCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + siScaleCode (::xercesc::XMLFormatTarget& ft, + const ::siscale::SiScaleCodeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + siScaleCode (::xercesc::XMLFormatTarget& ft, + const ::siscale::SiScaleCodeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + siScaleCode (::xercesc::DOMDocument& d, + const ::siscale::SiScaleCodeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + siScaleCode (const ::siscale::SiScaleCodeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_SISCALE_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_strm_20b.cxx b/oadrsd/oadrsd/2b/oadr_strm_20b.cxx new file mode 100644 index 0000000..4c34902 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_strm_20b.cxx @@ -0,0 +1,1421 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_strm_20b.hxx" + +namespace stream +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace stream +{ +} + +#include +#include +#include + +namespace stream +{ + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::intervals_ (isrc, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::intervals_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::intervals_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::intervals_ (isrc, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::intervals_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::intervals_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::stream::intervals > ( + ::stream::intervals_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "intervals" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + ::std::auto_ptr< ::stream::intervals > r ( + ::xsd::cxx::tree::traits< ::stream::intervals, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "intervals" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + ::std::auto_ptr< ::stream::intervals > r ( + ::xsd::cxx::tree::traits< ::stream::intervals, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamPayloadBase (isrc, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamPayloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamPayloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamPayloadBase (isrc, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamPayloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamPayloadBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::stream::StreamPayloadBaseType > ( + ::stream::streamPayloadBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + &::xsd::cxx::tree::factory_impl< ::stream::StreamPayloadBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::stream::StreamPayloadBaseType > r ( + dynamic_cast< ::stream::StreamPayloadBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + &::xsd::cxx::tree::factory_impl< ::stream::StreamPayloadBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > r ( + dynamic_cast< ::stream::StreamPayloadBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamBase (isrc, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::stream::streamBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamBase (isrc, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::stream::streamBase (isrc, h, f, p); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::stream::StreamBaseType > ( + ::stream::streamBase ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + &::xsd::cxx::tree::factory_impl< ::stream::StreamBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::stream::StreamBaseType > r ( + dynamic_cast< ::stream::StreamBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + &::xsd::cxx::tree::factory_impl< ::stream::StreamBaseType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::stream::StreamBaseType > r ( + dynamic_cast< ::stream::StreamBaseType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace stream +{ + void + intervals_ (::std::ostream& o, + const ::stream::intervals& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + intervals_ (::std::ostream& o, + const ::stream::intervals& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + intervals_ (::std::ostream& o, + const ::stream::intervals& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + intervals_ (::xercesc::XMLFormatTarget& t, + const ::stream::intervals& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + intervals_ (::xercesc::XMLFormatTarget& t, + const ::stream::intervals& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + intervals_ (::xercesc::XMLFormatTarget& t, + const ::stream::intervals& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::intervals_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + intervals_ (::xercesc::DOMDocument& d, + const ::stream::intervals& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "intervals" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + intervals_ (const ::stream::intervals& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "intervals", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + m, f)); + + ::stream::intervals_ (*d, s, f); + return d; + } + + void + streamPayloadBase (::std::ostream& o, + const ::stream::StreamPayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + streamPayloadBase (::std::ostream& o, + const ::stream::StreamPayloadBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamPayloadBase (::std::ostream& o, + const ::stream::StreamPayloadBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamPayloadBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamPayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + streamPayloadBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamPayloadBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamPayloadBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamPayloadBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamPayloadBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamPayloadBase (::xercesc::DOMDocument& d, + const ::stream::StreamPayloadBaseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::stream::StreamPayloadBaseType) == typeid (s)) + { + if (n.name () == "streamPayloadBase" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + streamPayloadBase (const ::stream::StreamPayloadBaseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::stream::StreamPayloadBaseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "streamPayloadBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + m, s, f); + } + + ::stream::streamPayloadBase (*d, s, f); + return d; + } + + void + streamBase (::std::ostream& o, + const ::stream::StreamBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + streamBase (::std::ostream& o, + const ::stream::StreamBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamBase (::std::ostream& o, + const ::stream::StreamBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamBaseType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + streamBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamBaseType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamBase (::xercesc::XMLFormatTarget& t, + const ::stream::StreamBaseType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::stream::streamBase (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + streamBase (::xercesc::DOMDocument& d, + const ::stream::StreamBaseType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::stream::StreamBaseType) == typeid (s)) + { + if (n.name () == "streamBase" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0:stream") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + streamBase (const ::stream::StreamBaseType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::stream::StreamBaseType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "streamBase", + "urn:ietf:params:xml:ns:icalendar-2.0:stream", + m, s, f); + } + + ::stream::streamBase (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_strm_20b.hxx b/oadrsd/oadrsd/2b/oadr_strm_20b.hxx new file mode 100644 index 0000000..26379d1 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_strm_20b.hxx @@ -0,0 +1,794 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_STRM_20B_HXX +#define OADR_STRM_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace stream +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_xcal_20b.hxx" + +#include "oadr_ei_20b.hxx" + +#include "StreamPayloadBaseType.hxx" + +#include "StreamBaseType.hxx" + +#include "intervals.hxx" + +namespace stream +{ +} + +#include + +#include +#include +#include + +namespace stream +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::stream::intervals > + intervals_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::intervals > + intervals_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamPayloadBaseType > + streamPayloadBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::stream::StreamBaseType > + streamBase (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace stream +{ + // Serialize to std::ostream. + // + + void + intervals_ (::std::ostream& os, + const ::stream::intervals& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + intervals_ (::std::ostream& os, + const ::stream::intervals& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + intervals_ (::std::ostream& os, + const ::stream::intervals& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + intervals_ (::xercesc::XMLFormatTarget& ft, + const ::stream::intervals& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + intervals_ (::xercesc::XMLFormatTarget& ft, + const ::stream::intervals& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + intervals_ (::xercesc::XMLFormatTarget& ft, + const ::stream::intervals& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + intervals_ (::xercesc::DOMDocument& d, + const ::stream::intervals& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + intervals_ (const ::stream::intervals& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + streamPayloadBase (::std::ostream& os, + const ::stream::StreamPayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamPayloadBase (::std::ostream& os, + const ::stream::StreamPayloadBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamPayloadBase (::std::ostream& os, + const ::stream::StreamPayloadBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + streamPayloadBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamPayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamPayloadBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamPayloadBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamPayloadBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamPayloadBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + streamPayloadBase (::xercesc::DOMDocument& d, + const ::stream::StreamPayloadBaseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + streamPayloadBase (const ::stream::StreamPayloadBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + streamBase (::std::ostream& os, + const ::stream::StreamBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamBase (::std::ostream& os, + const ::stream::StreamBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamBase (::std::ostream& os, + const ::stream::StreamBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + streamBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamBaseType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + streamBase (::xercesc::XMLFormatTarget& ft, + const ::stream::StreamBaseType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + streamBase (::xercesc::DOMDocument& d, + const ::stream::StreamBaseType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + streamBase (const ::stream::StreamBaseType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_STRM_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_xcal_20b.cxx b/oadrsd/oadrsd/2b/oadr_xcal_20b.cxx new file mode 100644 index 0000000..a16cf75 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xcal_20b.cxx @@ -0,0 +1,5411 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_xcal_20b.hxx" + +namespace icalendar_2_0 +{ +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +namespace icalendar_2_0 +{ + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::date_time (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::date_time (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::date_time (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::date_time (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::date_time (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::date_time (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DateTimeType > ( + ::icalendar_2_0::date_time ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DateTimeType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > r ( + dynamic_cast< ::icalendar_2_0::DateTimeType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::duration (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::duration (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::duration (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::duration (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::duration (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::duration (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::duration ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::uid_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::uid_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::uid_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::uid_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::uid_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::uid_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::uid > ( + ::icalendar_2_0::uid_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "uid" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::uid > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::uid, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "uid" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::uid > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::uid, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::text (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::text (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::text (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::text (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::text (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::text (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + text (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::icalendar_2_0::text ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "text", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::xml_schema::string > + text (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "text", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtstart_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtstart_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtstart_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtstart_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtstart_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtstart_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::dtstart > ( + ::icalendar_2_0::dtstart_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "dtstart" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::dtstart > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::dtstart, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "dtstart" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::dtstart > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::dtstart, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::properties_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::properties_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::properties_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::properties_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::properties_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::properties_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::properties > ( + ::icalendar_2_0::properties_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "properties" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::properties > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::properties, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "properties" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::properties > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::properties, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::components (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::components (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::components (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::components (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::components (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::components (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::type > + components (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::type > ( + ::icalendar_2_0::components ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::xml_schema::type >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::type > r ( + dynamic_cast< ::xml_schema::type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "components", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::xml_schema::type > + components (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::xml_schema::type >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::type > r ( + dynamic_cast< ::xml_schema::type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "components", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtend_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtend_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::dtend_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtend_ (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtend_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::dtend_ (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::dtend > ( + ::icalendar_2_0::dtend_ ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "dtend" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::dtend > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::dtend, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtend", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + if (n.name () == "dtend" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< ::icalendar_2_0::dtend > r ( + ::xsd::cxx::tree::traits< ::icalendar_2_0::dtend, char >::create ( + e, f, 0)); + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtend", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::vavailability (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::vavailability (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::vavailability (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::vavailability (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::vavailability (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::vavailability (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > ( + ::icalendar_2_0::vavailability ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::VavailabilityType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > r ( + dynamic_cast< ::icalendar_2_0::VavailabilityType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::VavailabilityType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > r ( + dynamic_cast< ::icalendar_2_0::VavailabilityType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::available (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::available (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::available (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::available (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::available (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::available (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::AvailableType > ( + ::icalendar_2_0::available ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::AvailableType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::AvailableType > r ( + dynamic_cast< ::icalendar_2_0::AvailableType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "available", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::AvailableType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > r ( + dynamic_cast< ::icalendar_2_0::AvailableType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "available", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::granularity (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::granularity (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::granularity (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::granularity (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::granularity (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::granularity (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::DurationPropType > ( + ::icalendar_2_0::granularity ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::DurationPropType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > r ( + dynamic_cast< ::icalendar_2_0::DurationPropType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::interval (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::icalendar_2_0::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::interval (isrc, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::icalendar_2_0::interval (isrc, h, f, p); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > ( + ::icalendar_2_0::interval ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::WsCalendarIntervalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > r ( + dynamic_cast< ::icalendar_2_0::WsCalendarIntervalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< ::icalendar_2_0::WsCalendarIntervalType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > r ( + dynamic_cast< ::icalendar_2_0::WsCalendarIntervalType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + date_time (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + date_time (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + date_time (::std::ostream& o, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + date_time (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + date_time (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + date_time (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DateTimeType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::date_time (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + date_time (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + if (n.name () == "date-time" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + date_time (const ::icalendar_2_0::DateTimeType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DateTimeType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "date-time", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::date_time (*d, s, f); + return d; + } + + void + duration (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + duration (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + duration (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + duration (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + duration (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + duration (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::duration (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + duration (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "duration" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + duration (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::duration (*d, s, f); + return d; + } + + void + uid_ (::std::ostream& o, + const ::icalendar_2_0::uid& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + uid_ (::std::ostream& o, + const ::icalendar_2_0::uid& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid_ (::std::ostream& o, + const ::icalendar_2_0::uid& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::uid& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + uid_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::uid& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::uid& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::uid_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + uid_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::uid& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "uid" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "uid", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + uid_ (const ::icalendar_2_0::uid& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "uid", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f)); + + ::icalendar_2_0::uid_ (*d, s, f); + return d; + } + + void + text (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + text (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + text (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + text (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + text (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + text (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::text (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + text (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "text" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "text", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + text (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::text (*d, s, f); + return d; + } + + void + dtstart_ (::std::ostream& o, + const ::icalendar_2_0::dtstart& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + dtstart_ (::std::ostream& o, + const ::icalendar_2_0::dtstart& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtstart_ (::std::ostream& o, + const ::icalendar_2_0::dtstart& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtstart_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtstart& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + dtstart_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtstart& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtstart_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtstart& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtstart_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtstart_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::dtstart& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "dtstart" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + dtstart_ (const ::icalendar_2_0::dtstart& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f)); + + ::icalendar_2_0::dtstart_ (*d, s, f); + return d; + } + + void + properties_ (::std::ostream& o, + const ::icalendar_2_0::properties& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + properties_ (::std::ostream& o, + const ::icalendar_2_0::properties& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + properties_ (::std::ostream& o, + const ::icalendar_2_0::properties& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + properties_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::properties& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + properties_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::properties& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + properties_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::properties& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::properties_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + properties_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::properties& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "properties" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + properties_ (const ::icalendar_2_0::properties& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "properties", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f)); + + ::icalendar_2_0::properties_ (*d, s, f); + return d; + } + + void + components (::std::ostream& o, + const ::xml_schema::type& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + components (::std::ostream& o, + const ::xml_schema::type& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + components (::std::ostream& o, + const ::xml_schema::type& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + components (::xercesc::XMLFormatTarget& t, + const ::xml_schema::type& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + components (::xercesc::XMLFormatTarget& t, + const ::xml_schema::type& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + components (::xercesc::XMLFormatTarget& t, + const ::xml_schema::type& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::components (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + components (::xercesc::DOMDocument& d, + const ::xml_schema::type& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::type) == typeid (s)) + { + if (n.name () == "components" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "components", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + components (const ::xml_schema::type& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::type) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "components", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::components (*d, s, f); + return d; + } + + void + dtend_ (::std::ostream& o, + const ::icalendar_2_0::dtend& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + dtend_ (::std::ostream& o, + const ::icalendar_2_0::dtend& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtend_ (::std::ostream& o, + const ::icalendar_2_0::dtend& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtend_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtend& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + dtend_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtend& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtend_ (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::dtend& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::dtend_ (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + dtend_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::dtend& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (n.name () == "dtend" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "dtend", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + dtend_ (const ::icalendar_2_0::dtend& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::serialize< char > ( + "dtend", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f)); + + ::icalendar_2_0::dtend_ (*d, s, f); + return d; + } + + void + vavailability (::std::ostream& o, + const ::icalendar_2_0::VavailabilityType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + vavailability (::std::ostream& o, + const ::icalendar_2_0::VavailabilityType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vavailability (::std::ostream& o, + const ::icalendar_2_0::VavailabilityType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vavailability (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::VavailabilityType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + vavailability (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::VavailabilityType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vavailability (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::VavailabilityType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::vavailability (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + vavailability (::xercesc::DOMDocument& d, + const ::icalendar_2_0::VavailabilityType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::VavailabilityType) == typeid (s)) + { + if (n.name () == "vavailability" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + vavailability (const ::icalendar_2_0::VavailabilityType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::VavailabilityType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "vavailability", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::vavailability (*d, s, f); + return d; + } + + void + available (::std::ostream& o, + const ::icalendar_2_0::AvailableType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + available (::std::ostream& o, + const ::icalendar_2_0::AvailableType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + available (::std::ostream& o, + const ::icalendar_2_0::AvailableType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + available (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::AvailableType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + available (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::AvailableType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + available (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::AvailableType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::available (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + available (::xercesc::DOMDocument& d, + const ::icalendar_2_0::AvailableType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::AvailableType) == typeid (s)) + { + if (n.name () == "available" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "available", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + available (const ::icalendar_2_0::AvailableType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::AvailableType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "available", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::available (*d, s, f); + return d; + } + + void + granularity (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + granularity (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + granularity (::std::ostream& o, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + granularity (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + granularity (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + granularity (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::DurationPropType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::granularity (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + granularity (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + if (n.name () == "granularity" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + granularity (const ::icalendar_2_0::DurationPropType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::DurationPropType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "granularity", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::granularity (*d, s, f); + return d; + } + + void + interval (::std::ostream& o, + const ::icalendar_2_0::WsCalendarIntervalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + interval (::std::ostream& o, + const ::icalendar_2_0::WsCalendarIntervalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::std::ostream& o, + const ::icalendar_2_0::WsCalendarIntervalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::WsCalendarIntervalType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::WsCalendarIntervalType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::XMLFormatTarget& t, + const ::icalendar_2_0::WsCalendarIntervalType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::icalendar_2_0::interval (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + interval (::xercesc::DOMDocument& d, + const ::icalendar_2_0::WsCalendarIntervalType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::icalendar_2_0::WsCalendarIntervalType) == typeid (s)) + { + if (n.name () == "interval" && + n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + interval (const ::icalendar_2_0::WsCalendarIntervalType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::icalendar_2_0::WsCalendarIntervalType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "interval", + "urn:ietf:params:xml:ns:icalendar-2.0", + m, s, f); + } + + ::icalendar_2_0::interval (*d, s, f); + return d; + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_xcal_20b.hxx b/oadrsd/oadrsd/2b/oadr_xcal_20b.hxx new file mode 100644 index 0000000..6ca0497 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xcal_20b.hxx @@ -0,0 +1,2261 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_XCAL_20B_HXX +#define OADR_XCAL_20B_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_ei_20b.hxx" + +#include "DateTimeType.hxx" + +#include "DurationPropType.hxx" + +#include "DurationValueType.hxx" + +#include "VavailabilityType.hxx" + +#include "ArrayOfVavailabilityContainedComponents.hxx" + +#include "AvailableType.hxx" + +#include "WsCalendarIntervalType.hxx" + +#include "uid.hxx" + +#include "dtstart.hxx" + +#include "properties.hxx" + +#include "dtend.hxx" + +#include "tolerance.hxx" + +#include "tolerate.hxx" + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DateTimeType > + date_time (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + duration (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::uid > + uid_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + text (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + text (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtstart > + dtstart_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::properties > + properties_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::type > + components (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::type > + components (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::dtend > + dtend_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::VavailabilityType > + vavailability (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::AvailableType > + available (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::DurationPropType > + granularity (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::icalendar_2_0::WsCalendarIntervalType > + interval (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + // Serialize to std::ostream. + // + + void + date_time (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + date_time (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + date_time (::std::ostream& os, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + date_time (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + date_time (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + date_time (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DateTimeType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + date_time (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DateTimeType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + date_time (const ::icalendar_2_0::DateTimeType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + duration (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + duration (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + duration (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + duration (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + duration (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + duration (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + duration (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + duration (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + uid_ (::std::ostream& os, + const ::icalendar_2_0::uid& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid_ (::std::ostream& os, + const ::icalendar_2_0::uid& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid_ (::std::ostream& os, + const ::icalendar_2_0::uid& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + uid_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::uid& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::uid& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + uid_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::uid& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + uid_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::uid& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + uid_ (const ::icalendar_2_0::uid& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + text (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + text (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + text (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + text (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + text (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + text (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + text (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + text (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + dtstart_ (::std::ostream& os, + const ::icalendar_2_0::dtstart& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtstart_ (::std::ostream& os, + const ::icalendar_2_0::dtstart& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtstart_ (::std::ostream& os, + const ::icalendar_2_0::dtstart& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + dtstart_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtstart& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtstart_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtstart& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtstart_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtstart& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + dtstart_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::dtstart& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + dtstart_ (const ::icalendar_2_0::dtstart& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + properties_ (::std::ostream& os, + const ::icalendar_2_0::properties& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + properties_ (::std::ostream& os, + const ::icalendar_2_0::properties& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + properties_ (::std::ostream& os, + const ::icalendar_2_0::properties& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + properties_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::properties& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + properties_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::properties& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + properties_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::properties& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + properties_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::properties& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + properties_ (const ::icalendar_2_0::properties& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + components (::std::ostream& os, + const ::xml_schema::type& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + components (::std::ostream& os, + const ::xml_schema::type& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + components (::std::ostream& os, + const ::xml_schema::type& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + components (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::type& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + components (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::type& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + components (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::type& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + components (::xercesc::DOMDocument& d, + const ::xml_schema::type& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + components (const ::xml_schema::type& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + dtend_ (::std::ostream& os, + const ::icalendar_2_0::dtend& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtend_ (::std::ostream& os, + const ::icalendar_2_0::dtend& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtend_ (::std::ostream& os, + const ::icalendar_2_0::dtend& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + dtend_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtend& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtend_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtend& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + dtend_ (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::dtend& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + dtend_ (::xercesc::DOMDocument& d, + const ::icalendar_2_0::dtend& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + dtend_ (const ::icalendar_2_0::dtend& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + vavailability (::std::ostream& os, + const ::icalendar_2_0::VavailabilityType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vavailability (::std::ostream& os, + const ::icalendar_2_0::VavailabilityType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vavailability (::std::ostream& os, + const ::icalendar_2_0::VavailabilityType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + vavailability (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::VavailabilityType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vavailability (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::VavailabilityType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + vavailability (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::VavailabilityType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + vavailability (::xercesc::DOMDocument& d, + const ::icalendar_2_0::VavailabilityType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + vavailability (const ::icalendar_2_0::VavailabilityType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + available (::std::ostream& os, + const ::icalendar_2_0::AvailableType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + available (::std::ostream& os, + const ::icalendar_2_0::AvailableType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + available (::std::ostream& os, + const ::icalendar_2_0::AvailableType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + available (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::AvailableType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + available (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::AvailableType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + available (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::AvailableType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + available (::xercesc::DOMDocument& d, + const ::icalendar_2_0::AvailableType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + available (const ::icalendar_2_0::AvailableType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + granularity (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + granularity (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + granularity (::std::ostream& os, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + granularity (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + granularity (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + granularity (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::DurationPropType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + granularity (::xercesc::DOMDocument& d, + const ::icalendar_2_0::DurationPropType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + granularity (const ::icalendar_2_0::DurationPropType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + interval (::std::ostream& os, + const ::icalendar_2_0::WsCalendarIntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::std::ostream& os, + const ::icalendar_2_0::WsCalendarIntervalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::std::ostream& os, + const ::icalendar_2_0::WsCalendarIntervalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::WsCalendarIntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::WsCalendarIntervalType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + interval (::xercesc::XMLFormatTarget& ft, + const ::icalendar_2_0::WsCalendarIntervalType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + interval (::xercesc::DOMDocument& d, + const ::icalendar_2_0::WsCalendarIntervalType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + interval (const ::icalendar_2_0::WsCalendarIntervalType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_XCAL_20B_HXX diff --git a/oadrsd/oadrsd/2b/oadr_xml.cxx b/oadrsd/oadrsd/2b/oadr_xml.cxx new file mode 100644 index 0000000..b4bd14a --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xml.cxx @@ -0,0 +1,77 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_xml.hxx" + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +#include +#include +#include + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_xml.hxx b/oadrsd/oadrsd/2b/oadr_xml.hxx new file mode 100644 index 0000000..dde7192 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xml.hxx @@ -0,0 +1,305 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_XML_HXX +#define OADR_XML_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace namespace_ +{ +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "space.hxx" + +namespace namespace_ +{ +} + +#include + +#include +#include +#include + +namespace namespace_ +{ +} + +#include + +#include +#include +#include + +#include + +namespace namespace_ +{ +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_XML_HXX diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.cxx b/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.cxx new file mode 100644 index 0000000..3f1e2e5 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.cxx @@ -0,0 +1,561 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_xmldsig-properties-schema.hxx" + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsp::ReplayProtect (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsp::ReplayProtect (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsp::ReplayProtect (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsp::ReplayProtect (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsp::ReplayProtect (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsp::ReplayProtect (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > ( + ::oadr2b::dsp::ReplayProtect ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsp::ReplayProtectType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > r ( + dynamic_cast< ::oadr2b::dsp::ReplayProtectType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsp::ReplayProtectType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > r ( + dynamic_cast< ::oadr2b::dsp::ReplayProtectType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsp + { + void + ReplayProtect (::std::ostream& o, + const ::oadr2b::dsp::ReplayProtectType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReplayProtect (::std::ostream& o, + const ::oadr2b::dsp::ReplayProtectType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReplayProtect (::std::ostream& o, + const ::oadr2b::dsp::ReplayProtectType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReplayProtect (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsp::ReplayProtectType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ReplayProtect (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsp::ReplayProtectType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReplayProtect (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsp::ReplayProtectType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsp::ReplayProtect (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ReplayProtect (::xercesc::DOMDocument& d, + const ::oadr2b::dsp::ReplayProtectType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsp::ReplayProtectType) == typeid (s)) + { + if (n.name () == "ReplayProtect" && + n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReplayProtect (const ::oadr2b::dsp::ReplayProtectType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsp::ReplayProtectType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ReplayProtect", + "http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties", + m, s, f); + } + + ::oadr2b::dsp::ReplayProtect (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.hxx b/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.hxx new file mode 100644 index 0000000..89ecee9 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig-properties-schema.hxx @@ -0,0 +1,478 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_XMLDSIG_PROPERTIES_SCHEMA_HXX +#define OADR_XMLDSIG_PROPERTIES_SCHEMA_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsp + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ReplayProtectType.hxx" + +#include "NonceValueType.hxx" + +namespace oadr2b +{ + namespace dsp + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsp + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsp::ReplayProtectType > + ReplayProtect (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsp + { + // Serialize to std::ostream. + // + + void + ReplayProtect (::std::ostream& os, + const ::oadr2b::dsp::ReplayProtectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReplayProtect (::std::ostream& os, + const ::oadr2b::dsp::ReplayProtectType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReplayProtect (::std::ostream& os, + const ::oadr2b::dsp::ReplayProtectType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ReplayProtect (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsp::ReplayProtectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReplayProtect (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsp::ReplayProtectType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ReplayProtect (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsp::ReplayProtectType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ReplayProtect (::xercesc::DOMDocument& d, + const ::oadr2b::dsp::ReplayProtectType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ReplayProtect (const ::oadr2b::dsp::ReplayProtectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_XMLDSIG_PROPERTIES_SCHEMA_HXX diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig.cxx b/oadrsd/oadrsd/2b/oadr_xmldsig.cxx new file mode 100644 index 0000000..0488836 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig.cxx @@ -0,0 +1,11095 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_xmldsig.hxx" + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Signature (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Signature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Signature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Signature (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Signature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Signature (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureType > ( + ::oadr2b::sig::Signature ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignatureType > r ( + dynamic_cast< ::oadr2b::sig::SignatureType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Signature", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > r ( + dynamic_cast< ::oadr2b::sig::SignatureType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Signature", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > ( + ::oadr2b::sig::SignatureValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > r ( + dynamic_cast< ::oadr2b::sig::SignatureValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > r ( + dynamic_cast< ::oadr2b::sig::SignatureValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignedInfo (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignedInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignedInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignedInfo (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignedInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignedInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > ( + ::oadr2b::sig::SignedInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignedInfoType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > r ( + dynamic_cast< ::oadr2b::sig::SignedInfoType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignedInfoType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > r ( + dynamic_cast< ::oadr2b::sig::SignedInfoType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::CanonicalizationMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::CanonicalizationMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::CanonicalizationMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::CanonicalizationMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::CanonicalizationMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::CanonicalizationMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > ( + ::oadr2b::sig::CanonicalizationMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::CanonicalizationMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > r ( + dynamic_cast< ::oadr2b::sig::CanonicalizationMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::CanonicalizationMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > r ( + dynamic_cast< ::oadr2b::sig::CanonicalizationMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > ( + ::oadr2b::sig::SignatureMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > r ( + dynamic_cast< ::oadr2b::sig::SignatureMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignatureMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > r ( + dynamic_cast< ::oadr2b::sig::SignatureMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Reference (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Reference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Reference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Reference (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Reference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Reference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::ReferenceType > ( + ::oadr2b::sig::Reference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ReferenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > r ( + dynamic_cast< ::oadr2b::sig::ReferenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Reference", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ReferenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > r ( + dynamic_cast< ::oadr2b::sig::ReferenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Reference", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transforms (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transforms (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transforms (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transforms (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transforms (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transforms (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::TransformsType > ( + ::oadr2b::sig::Transforms ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::TransformsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::TransformsType > r ( + dynamic_cast< ::oadr2b::sig::TransformsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transforms", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::TransformsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > r ( + dynamic_cast< ::oadr2b::sig::TransformsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transforms", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transform (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transform (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Transform (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transform (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transform (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Transform (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::TransformType > ( + ::oadr2b::sig::Transform ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::TransformType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::TransformType > r ( + dynamic_cast< ::oadr2b::sig::TransformType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transform", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::TransformType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::TransformType > r ( + dynamic_cast< ::oadr2b::sig::TransformType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transform", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > ( + ::oadr2b::sig::DigestMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DigestMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > r ( + dynamic_cast< ::oadr2b::sig::DigestMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DigestMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > r ( + dynamic_cast< ::oadr2b::sig::DigestMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DigestValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DigestValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::DigestValueType > ( + ::oadr2b::sig::DigestValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DigestValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > r ( + dynamic_cast< ::oadr2b::sig::DigestValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DigestValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > r ( + dynamic_cast< ::oadr2b::sig::DigestValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyInfo (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyInfo (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyInfo (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > ( + ::oadr2b::sig::KeyInfo ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::KeyInfoType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > r ( + dynamic_cast< ::oadr2b::sig::KeyInfoType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::KeyInfoType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > r ( + dynamic_cast< ::oadr2b::sig::KeyInfoType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyName (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyName (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::KeyName ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyName", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyName", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::MgmtData (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::MgmtData (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::MgmtData (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::MgmtData (isrc, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::MgmtData (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::MgmtData (isrc, h, f, p); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::xml_schema::string > ( + ::oadr2b::sig::MgmtData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::xml_schema::string >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::xml_schema::string > r ( + dynamic_cast< ::xml_schema::string* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::KeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::KeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::KeyValueType > ( + ::oadr2b::sig::KeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::KeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > r ( + dynamic_cast< ::oadr2b::sig::KeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::KeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > r ( + dynamic_cast< ::oadr2b::sig::KeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RetrievalMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RetrievalMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RetrievalMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RetrievalMethod (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RetrievalMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RetrievalMethod (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > ( + ::oadr2b::sig::RetrievalMethod ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::RetrievalMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > r ( + dynamic_cast< ::oadr2b::sig::RetrievalMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::RetrievalMethodType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > r ( + dynamic_cast< ::oadr2b::sig::RetrievalMethodType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::X509Data (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::X509Data (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::X509Data (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::X509Data (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::X509Data (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::X509Data (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::X509DataType > ( + ::oadr2b::sig::X509Data ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::X509DataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::X509DataType > r ( + dynamic_cast< ::oadr2b::sig::X509DataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Data", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::X509DataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > r ( + dynamic_cast< ::oadr2b::sig::X509DataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Data", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::PGPData (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::PGPData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::PGPData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::PGPData (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::PGPData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::PGPData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::PGPDataType > ( + ::oadr2b::sig::PGPData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::PGPDataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > r ( + dynamic_cast< ::oadr2b::sig::PGPDataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PGPData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::PGPDataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > r ( + dynamic_cast< ::oadr2b::sig::PGPDataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PGPData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SPKIData (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SPKIData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SPKIData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SPKIData (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SPKIData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SPKIData (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > ( + ::oadr2b::sig::SPKIData ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SPKIDataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > r ( + dynamic_cast< ::oadr2b::sig::SPKIDataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SPKIDataType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > r ( + dynamic_cast< ::oadr2b::sig::SPKIDataType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Object (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Object (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Object (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Object (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Object (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Object (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::ObjectType > ( + ::oadr2b::sig::Object ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ObjectType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::ObjectType > r ( + dynamic_cast< ::oadr2b::sig::ObjectType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ObjectType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > r ( + dynamic_cast< ::oadr2b::sig::ObjectType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Manifest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Manifest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::Manifest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Manifest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Manifest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::Manifest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::ManifestType > ( + ::oadr2b::sig::Manifest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Manifest", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ManifestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::ManifestType > r ( + dynamic_cast< ::oadr2b::sig::ManifestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Manifest", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Manifest", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::ManifestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > r ( + dynamic_cast< ::oadr2b::sig::ManifestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Manifest", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperties (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperties (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperties (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperties (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperties (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperties (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > ( + ::oadr2b::sig::SignatureProperties ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignaturePropertiesType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > r ( + dynamic_cast< ::oadr2b::sig::SignaturePropertiesType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignaturePropertiesType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > r ( + dynamic_cast< ::oadr2b::sig::SignaturePropertiesType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperty (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperty (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::SignatureProperty (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperty (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperty (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::SignatureProperty (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > ( + ::oadr2b::sig::SignatureProperty ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignaturePropertyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > r ( + dynamic_cast< ::oadr2b::sig::SignaturePropertyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::SignaturePropertyType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > r ( + dynamic_cast< ::oadr2b::sig::SignaturePropertyType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DSAKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::DSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DSAKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::DSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > ( + ::oadr2b::sig::DSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DSAKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > r ( + dynamic_cast< ::oadr2b::sig::DSAKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::DSAKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > r ( + dynamic_cast< ::oadr2b::sig::DSAKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RSAKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::sig::RSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RSAKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::sig::RSAKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > ( + ::oadr2b::sig::RSAKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::RSAKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > r ( + dynamic_cast< ::oadr2b::sig::RSAKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::sig::RSAKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > r ( + dynamic_cast< ::oadr2b::sig::RSAKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace sig + { + void + Signature (::std::ostream& o, + const ::oadr2b::sig::SignatureType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Signature (::std::ostream& o, + const ::oadr2b::sig::SignatureType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Signature (::std::ostream& o, + const ::oadr2b::sig::SignatureType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Signature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Signature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Signature (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Signature (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Signature (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignatureType) == typeid (s)) + { + if (n.name () == "Signature" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Signature", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Signature (const ::oadr2b::sig::SignatureType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignatureType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Signature", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Signature (*d, s, f); + return d; + } + + void + SignatureValue (::std::ostream& o, + const ::oadr2b::sig::SignatureValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureValue (::std::ostream& o, + const ::oadr2b::sig::SignatureValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureValue (::std::ostream& o, + const ::oadr2b::sig::SignatureValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignatureValueType) == typeid (s)) + { + if (n.name () == "SignatureValue" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureValue (const ::oadr2b::sig::SignatureValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignatureValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureValue", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SignatureValue (*d, s, f); + return d; + } + + void + SignedInfo (::std::ostream& o, + const ::oadr2b::sig::SignedInfoType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignedInfo (::std::ostream& o, + const ::oadr2b::sig::SignedInfoType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignedInfo (::std::ostream& o, + const ::oadr2b::sig::SignedInfoType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignedInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignedInfoType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignedInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignedInfoType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignedInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignedInfoType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignedInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignedInfo (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignedInfoType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignedInfoType) == typeid (s)) + { + if (n.name () == "SignedInfo" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignedInfo (const ::oadr2b::sig::SignedInfoType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignedInfoType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignedInfo", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SignedInfo (*d, s, f); + return d; + } + + void + CanonicalizationMethod (::std::ostream& o, + const ::oadr2b::sig::CanonicalizationMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + CanonicalizationMethod (::std::ostream& o, + const ::oadr2b::sig::CanonicalizationMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + CanonicalizationMethod (::std::ostream& o, + const ::oadr2b::sig::CanonicalizationMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::CanonicalizationMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::CanonicalizationMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::CanonicalizationMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::CanonicalizationMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + CanonicalizationMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::CanonicalizationMethodType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::CanonicalizationMethodType) == typeid (s)) + { + if (n.name () == "CanonicalizationMethod" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + CanonicalizationMethod (const ::oadr2b::sig::CanonicalizationMethodType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::CanonicalizationMethodType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "CanonicalizationMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::CanonicalizationMethod (*d, s, f); + return d; + } + + void + SignatureMethod (::std::ostream& o, + const ::oadr2b::sig::SignatureMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureMethod (::std::ostream& o, + const ::oadr2b::sig::SignatureMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureMethod (::std::ostream& o, + const ::oadr2b::sig::SignatureMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignatureMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureMethodType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignatureMethodType) == typeid (s)) + { + if (n.name () == "SignatureMethod" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureMethod (const ::oadr2b::sig::SignatureMethodType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignatureMethodType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SignatureMethod (*d, s, f); + return d; + } + + void + Reference (::std::ostream& o, + const ::oadr2b::sig::ReferenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Reference (::std::ostream& o, + const ::oadr2b::sig::ReferenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Reference (::std::ostream& o, + const ::oadr2b::sig::ReferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Reference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ReferenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Reference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ReferenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Reference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ReferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Reference (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Reference (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ReferenceType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::ReferenceType) == typeid (s)) + { + if (n.name () == "Reference" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Reference", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Reference (const ::oadr2b::sig::ReferenceType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::ReferenceType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Reference", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Reference (*d, s, f); + return d; + } + + void + Transforms (::std::ostream& o, + const ::oadr2b::sig::TransformsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Transforms (::std::ostream& o, + const ::oadr2b::sig::TransformsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transforms (::std::ostream& o, + const ::oadr2b::sig::TransformsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transforms (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Transforms (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transforms (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transforms (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transforms (::xercesc::DOMDocument& d, + const ::oadr2b::sig::TransformsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::TransformsType) == typeid (s)) + { + if (n.name () == "Transforms" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transforms", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Transforms (const ::oadr2b::sig::TransformsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::TransformsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Transforms", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Transforms (*d, s, f); + return d; + } + + void + Transform (::std::ostream& o, + const ::oadr2b::sig::TransformType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Transform (::std::ostream& o, + const ::oadr2b::sig::TransformType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transform (::std::ostream& o, + const ::oadr2b::sig::TransformType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transform (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Transform (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transform (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::TransformType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Transform (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Transform (::xercesc::DOMDocument& d, + const ::oadr2b::sig::TransformType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::TransformType) == typeid (s)) + { + if (n.name () == "Transform" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Transform", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Transform (const ::oadr2b::sig::TransformType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::TransformType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Transform", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Transform (*d, s, f); + return d; + } + + void + DigestMethod (::std::ostream& o, + const ::oadr2b::sig::DigestMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DigestMethod (::std::ostream& o, + const ::oadr2b::sig::DigestMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestMethod (::std::ostream& o, + const ::oadr2b::sig::DigestMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DigestMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DigestMethodType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::DigestMethodType) == typeid (s)) + { + if (n.name () == "DigestMethod" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DigestMethod (const ::oadr2b::sig::DigestMethodType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::DigestMethodType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DigestMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::DigestMethod (*d, s, f); + return d; + } + + void + DigestValue (::std::ostream& o, + const ::oadr2b::sig::DigestValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DigestValue (::std::ostream& o, + const ::oadr2b::sig::DigestValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestValue (::std::ostream& o, + const ::oadr2b::sig::DigestValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DigestValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DigestValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DigestValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DigestValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DigestValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::DigestValueType) == typeid (s)) + { + if (n.name () == "DigestValue" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DigestValue (const ::oadr2b::sig::DigestValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::DigestValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DigestValue", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::DigestValue (*d, s, f); + return d; + } + + void + KeyInfo (::std::ostream& o, + const ::oadr2b::sig::KeyInfoType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyInfo (::std::ostream& o, + const ::oadr2b::sig::KeyInfoType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfo (::std::ostream& o, + const ::oadr2b::sig::KeyInfoType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyInfoType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyInfoType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfo (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyInfoType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyInfo (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfo (::xercesc::DOMDocument& d, + const ::oadr2b::sig::KeyInfoType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::KeyInfoType) == typeid (s)) + { + if (n.name () == "KeyInfo" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyInfo (const ::oadr2b::sig::KeyInfoType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::KeyInfoType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyInfo", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::KeyInfo (*d, s, f); + return d; + } + + void + KeyName (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyName (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyName (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyName (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyName (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyName (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "KeyName" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyName", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyName (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyName", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::KeyName (*d, s, f); + return d; + } + + void + MgmtData (::std::ostream& o, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + MgmtData (::std::ostream& o, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MgmtData (::std::ostream& o, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MgmtData (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + MgmtData (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MgmtData (::xercesc::XMLFormatTarget& t, + const ::xml_schema::string& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::MgmtData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + MgmtData (::xercesc::DOMDocument& d, + const ::xml_schema::string& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::xml_schema::string) == typeid (s)) + { + if (n.name () == "MgmtData" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + MgmtData (const ::xml_schema::string& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::xml_schema::string) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "MgmtData", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::MgmtData (*d, s, f); + return d; + } + + void + KeyValue (::std::ostream& o, + const ::oadr2b::sig::KeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyValue (::std::ostream& o, + const ::oadr2b::sig::KeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyValue (::std::ostream& o, + const ::oadr2b::sig::KeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::KeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::KeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::KeyValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::KeyValueType) == typeid (s)) + { + if (n.name () == "KeyValue" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyValue (const ::oadr2b::sig::KeyValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::KeyValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::KeyValue (*d, s, f); + return d; + } + + void + RetrievalMethod (::std::ostream& o, + const ::oadr2b::sig::RetrievalMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + RetrievalMethod (::std::ostream& o, + const ::oadr2b::sig::RetrievalMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RetrievalMethod (::std::ostream& o, + const ::oadr2b::sig::RetrievalMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RetrievalMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RetrievalMethodType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + RetrievalMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RetrievalMethodType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RetrievalMethod (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RetrievalMethodType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RetrievalMethod (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RetrievalMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::RetrievalMethodType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::RetrievalMethodType) == typeid (s)) + { + if (n.name () == "RetrievalMethod" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + RetrievalMethod (const ::oadr2b::sig::RetrievalMethodType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::RetrievalMethodType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "RetrievalMethod", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::RetrievalMethod (*d, s, f); + return d; + } + + void + X509Data (::std::ostream& o, + const ::oadr2b::sig::X509DataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + X509Data (::std::ostream& o, + const ::oadr2b::sig::X509DataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Data (::std::ostream& o, + const ::oadr2b::sig::X509DataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Data (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::X509DataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + X509Data (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::X509DataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Data (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::X509DataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::X509Data (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Data (::xercesc::DOMDocument& d, + const ::oadr2b::sig::X509DataType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::X509DataType) == typeid (s)) + { + if (n.name () == "X509Data" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Data", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + X509Data (const ::oadr2b::sig::X509DataType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::X509DataType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "X509Data", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::X509Data (*d, s, f); + return d; + } + + void + PGPData (::std::ostream& o, + const ::oadr2b::sig::PGPDataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + PGPData (::std::ostream& o, + const ::oadr2b::sig::PGPDataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PGPData (::std::ostream& o, + const ::oadr2b::sig::PGPDataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PGPData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::PGPDataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + PGPData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::PGPDataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PGPData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::PGPDataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::PGPData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PGPData (::xercesc::DOMDocument& d, + const ::oadr2b::sig::PGPDataType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::PGPDataType) == typeid (s)) + { + if (n.name () == "PGPData" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PGPData", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + PGPData (const ::oadr2b::sig::PGPDataType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::PGPDataType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "PGPData", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::PGPData (*d, s, f); + return d; + } + + void + SPKIData (::std::ostream& o, + const ::oadr2b::sig::SPKIDataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SPKIData (::std::ostream& o, + const ::oadr2b::sig::SPKIDataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SPKIData (::std::ostream& o, + const ::oadr2b::sig::SPKIDataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SPKIData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SPKIDataType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SPKIData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SPKIDataType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SPKIData (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SPKIDataType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SPKIData (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SPKIData (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SPKIDataType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SPKIDataType) == typeid (s)) + { + if (n.name () == "SPKIData" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SPKIData (const ::oadr2b::sig::SPKIDataType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SPKIDataType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SPKIData", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SPKIData (*d, s, f); + return d; + } + + void + Object (::std::ostream& o, + const ::oadr2b::sig::ObjectType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Object (::std::ostream& o, + const ::oadr2b::sig::ObjectType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object (::std::ostream& o, + const ::oadr2b::sig::ObjectType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ObjectType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Object (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ObjectType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ObjectType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Object (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Object (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ObjectType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::ObjectType) == typeid (s)) + { + if (n.name () == "Object" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Object", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Object (const ::oadr2b::sig::ObjectType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::ObjectType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Object", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Object (*d, s, f); + return d; + } + + void + Manifest (::std::ostream& o, + const ::oadr2b::sig::ManifestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Manifest (::std::ostream& o, + const ::oadr2b::sig::ManifestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Manifest (::std::ostream& o, + const ::oadr2b::sig::ManifestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Manifest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ManifestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Manifest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ManifestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Manifest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::ManifestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::Manifest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Manifest (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ManifestType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::ManifestType) == typeid (s)) + { + if (n.name () == "Manifest" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Manifest", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Manifest", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Manifest (const ::oadr2b::sig::ManifestType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::ManifestType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Manifest", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Manifest", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::Manifest (*d, s, f); + return d; + } + + void + SignatureProperties (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertiesType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureProperties (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertiesType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperties (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertiesType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperties (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertiesType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureProperties (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertiesType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperties (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertiesType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperties (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperties (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignaturePropertiesType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignaturePropertiesType) == typeid (s)) + { + if (n.name () == "SignatureProperties" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureProperties (const ::oadr2b::sig::SignaturePropertiesType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignaturePropertiesType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureProperties", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SignatureProperties (*d, s, f); + return d; + } + + void + SignatureProperty (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureProperty (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperty (::std::ostream& o, + const ::oadr2b::sig::SignaturePropertyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperty (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertyType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + SignatureProperty (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertyType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperty (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::SignaturePropertyType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::SignatureProperty (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + SignatureProperty (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignaturePropertyType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::SignaturePropertyType) == typeid (s)) + { + if (n.name () == "SignatureProperty" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureProperty (const ::oadr2b::sig::SignaturePropertyType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::SignaturePropertyType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "SignatureProperty", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::SignatureProperty (*d, s, f); + return d; + } + + void + DSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::DSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::DSAKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::DSAKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DSAKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::DSAKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::DSAKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DSAKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DSAKeyValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::DSAKeyValueType) == typeid (s)) + { + if (n.name () == "DSAKeyValue" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DSAKeyValue (const ::oadr2b::sig::DSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::DSAKeyValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::DSAKeyValue (*d, s, f); + return d; + } + + void + RSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::RSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + RSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::RSAKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RSAKeyValue (::std::ostream& o, + const ::oadr2b::sig::RSAKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + RSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RSAKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RSAKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::sig::RSAKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::sig::RSAKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + RSAKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::RSAKeyValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::sig::RSAKeyValueType) == typeid (s)) + { + if (n.name () == "RSAKeyValue" && + n.namespace_ () == "http://www.w3.org/2000/09/xmldsig#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + RSAKeyValue (const ::oadr2b::sig::RSAKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::sig::RSAKeyValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "RSAKeyValue", + "http://www.w3.org/2000/09/xmldsig#", + m, s, f); + } + + ::oadr2b::sig::RSAKeyValue (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig.hxx b/oadrsd/oadrsd/2b/oadr_xmldsig.hxx new file mode 100644 index 0000000..319d09a --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig.hxx @@ -0,0 +1,4227 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_XMLDSIG_HXX +#define OADR_XMLDSIG_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace sig + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "CryptoBinary.hxx" + +#include "SignatureType.hxx" + +#include "SignatureValueType.hxx" + +#include "SignedInfoType.hxx" + +#include "CanonicalizationMethodType.hxx" + +#include "SignatureMethodType.hxx" + +#include "ReferenceType.hxx" + +#include "TransformsType.hxx" + +#include "TransformType.hxx" + +#include "DigestMethodType.hxx" + +#include "DigestValueType.hxx" + +#include "KeyInfoType.hxx" + +#include "KeyValueType.hxx" + +#include "RetrievalMethodType.hxx" + +#include "X509DataType.hxx" + +#include "X509IssuerSerialType.hxx" + +#include "PGPDataType.hxx" + +#include "SPKIDataType.hxx" + +#include "ObjectType.hxx" + +#include "ManifestType.hxx" + +#include "SignaturePropertiesType.hxx" + +#include "SignaturePropertyType.hxx" + +#include "HMACOutputLengthType.hxx" + +#include "DSAKeyValueType.hxx" + +#include "RSAKeyValueType.hxx" + +namespace oadr2b +{ + namespace sig + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace sig + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureType > + Signature (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureValueType > + SignatureValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignedInfoType > + SignedInfo (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::CanonicalizationMethodType > + CanonicalizationMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignatureMethodType > + SignatureMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ReferenceType > + Reference (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformsType > + Transforms (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::TransformType > + Transform (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestMethodType > + DigestMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DigestValueType > + DigestValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyInfoType > + KeyInfo (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + KeyName (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + KeyName (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::xml_schema::string > + MgmtData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::KeyValueType > + KeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RetrievalMethodType > + RetrievalMethod (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::X509DataType > + X509Data (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::PGPDataType > + PGPData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SPKIDataType > + SPKIData (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ObjectType > + Object (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::ManifestType > + Manifest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertiesType > + SignatureProperties (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::SignaturePropertyType > + SignatureProperty (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::DSAKeyValueType > + DSAKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::sig::RSAKeyValueType > + RSAKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace sig + { + // Serialize to std::ostream. + // + + void + Signature (::std::ostream& os, + const ::oadr2b::sig::SignatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Signature (::std::ostream& os, + const ::oadr2b::sig::SignatureType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Signature (::std::ostream& os, + const ::oadr2b::sig::SignatureType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Signature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Signature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Signature (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Signature (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Signature (const ::oadr2b::sig::SignatureType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignatureValue (::std::ostream& os, + const ::oadr2b::sig::SignatureValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureValue (::std::ostream& os, + const ::oadr2b::sig::SignatureValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureValue (::std::ostream& os, + const ::oadr2b::sig::SignatureValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignatureValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignatureValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureValue (const ::oadr2b::sig::SignatureValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignedInfo (::std::ostream& os, + const ::oadr2b::sig::SignedInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignedInfo (::std::ostream& os, + const ::oadr2b::sig::SignedInfoType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignedInfo (::std::ostream& os, + const ::oadr2b::sig::SignedInfoType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignedInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignedInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignedInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignedInfoType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignedInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignedInfoType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignedInfo (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignedInfoType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignedInfo (const ::oadr2b::sig::SignedInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + CanonicalizationMethod (::std::ostream& os, + const ::oadr2b::sig::CanonicalizationMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + CanonicalizationMethod (::std::ostream& os, + const ::oadr2b::sig::CanonicalizationMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + CanonicalizationMethod (::std::ostream& os, + const ::oadr2b::sig::CanonicalizationMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::CanonicalizationMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::CanonicalizationMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + CanonicalizationMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::CanonicalizationMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + CanonicalizationMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::CanonicalizationMethodType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + CanonicalizationMethod (const ::oadr2b::sig::CanonicalizationMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignatureMethod (::std::ostream& os, + const ::oadr2b::sig::SignatureMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureMethod (::std::ostream& os, + const ::oadr2b::sig::SignatureMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureMethod (::std::ostream& os, + const ::oadr2b::sig::SignatureMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignatureMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignatureMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignatureMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignatureMethodType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureMethod (const ::oadr2b::sig::SignatureMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Reference (::std::ostream& os, + const ::oadr2b::sig::ReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Reference (::std::ostream& os, + const ::oadr2b::sig::ReferenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Reference (::std::ostream& os, + const ::oadr2b::sig::ReferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Reference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Reference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ReferenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Reference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ReferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Reference (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ReferenceType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Reference (const ::oadr2b::sig::ReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Transforms (::std::ostream& os, + const ::oadr2b::sig::TransformsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transforms (::std::ostream& os, + const ::oadr2b::sig::TransformsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transforms (::std::ostream& os, + const ::oadr2b::sig::TransformsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Transforms (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transforms (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transforms (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Transforms (::xercesc::DOMDocument& d, + const ::oadr2b::sig::TransformsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Transforms (const ::oadr2b::sig::TransformsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Transform (::std::ostream& os, + const ::oadr2b::sig::TransformType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transform (::std::ostream& os, + const ::oadr2b::sig::TransformType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transform (::std::ostream& os, + const ::oadr2b::sig::TransformType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Transform (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transform (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Transform (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::TransformType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Transform (::xercesc::DOMDocument& d, + const ::oadr2b::sig::TransformType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Transform (const ::oadr2b::sig::TransformType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + DigestMethod (::std::ostream& os, + const ::oadr2b::sig::DigestMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestMethod (::std::ostream& os, + const ::oadr2b::sig::DigestMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestMethod (::std::ostream& os, + const ::oadr2b::sig::DigestMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + DigestMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + DigestMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DigestMethodType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DigestMethod (const ::oadr2b::sig::DigestMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + DigestValue (::std::ostream& os, + const ::oadr2b::sig::DigestValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestValue (::std::ostream& os, + const ::oadr2b::sig::DigestValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestValue (::std::ostream& os, + const ::oadr2b::sig::DigestValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + DigestValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DigestValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DigestValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + DigestValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DigestValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DigestValue (const ::oadr2b::sig::DigestValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + KeyInfo (::std::ostream& os, + const ::oadr2b::sig::KeyInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfo (::std::ostream& os, + const ::oadr2b::sig::KeyInfoType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfo (::std::ostream& os, + const ::oadr2b::sig::KeyInfoType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + KeyInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyInfoType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfo (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyInfoType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + KeyInfo (::xercesc::DOMDocument& d, + const ::oadr2b::sig::KeyInfoType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyInfo (const ::oadr2b::sig::KeyInfoType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + KeyName (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyName (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyName (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + KeyName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyName (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + KeyName (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyName (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + MgmtData (::std::ostream& os, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MgmtData (::std::ostream& os, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MgmtData (::std::ostream& os, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + MgmtData (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MgmtData (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + MgmtData (::xercesc::XMLFormatTarget& ft, + const ::xml_schema::string& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + MgmtData (::xercesc::DOMDocument& d, + const ::xml_schema::string& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + MgmtData (const ::xml_schema::string& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + KeyValue (::std::ostream& os, + const ::oadr2b::sig::KeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyValue (::std::ostream& os, + const ::oadr2b::sig::KeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyValue (::std::ostream& os, + const ::oadr2b::sig::KeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + KeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::KeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + KeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::KeyValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyValue (const ::oadr2b::sig::KeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + RetrievalMethod (::std::ostream& os, + const ::oadr2b::sig::RetrievalMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RetrievalMethod (::std::ostream& os, + const ::oadr2b::sig::RetrievalMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RetrievalMethod (::std::ostream& os, + const ::oadr2b::sig::RetrievalMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + RetrievalMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RetrievalMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RetrievalMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RetrievalMethodType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RetrievalMethod (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RetrievalMethodType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + RetrievalMethod (::xercesc::DOMDocument& d, + const ::oadr2b::sig::RetrievalMethodType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + RetrievalMethod (const ::oadr2b::sig::RetrievalMethodType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + X509Data (::std::ostream& os, + const ::oadr2b::sig::X509DataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Data (::std::ostream& os, + const ::oadr2b::sig::X509DataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Data (::std::ostream& os, + const ::oadr2b::sig::X509DataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + X509Data (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::X509DataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Data (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::X509DataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Data (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::X509DataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + X509Data (::xercesc::DOMDocument& d, + const ::oadr2b::sig::X509DataType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + X509Data (const ::oadr2b::sig::X509DataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + PGPData (::std::ostream& os, + const ::oadr2b::sig::PGPDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PGPData (::std::ostream& os, + const ::oadr2b::sig::PGPDataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PGPData (::std::ostream& os, + const ::oadr2b::sig::PGPDataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + PGPData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::PGPDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PGPData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::PGPDataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PGPData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::PGPDataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + PGPData (::xercesc::DOMDocument& d, + const ::oadr2b::sig::PGPDataType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + PGPData (const ::oadr2b::sig::PGPDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SPKIData (::std::ostream& os, + const ::oadr2b::sig::SPKIDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SPKIData (::std::ostream& os, + const ::oadr2b::sig::SPKIDataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SPKIData (::std::ostream& os, + const ::oadr2b::sig::SPKIDataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SPKIData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SPKIDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SPKIData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SPKIDataType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SPKIData (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SPKIDataType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SPKIData (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SPKIDataType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SPKIData (const ::oadr2b::sig::SPKIDataType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Object (::std::ostream& os, + const ::oadr2b::sig::ObjectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object (::std::ostream& os, + const ::oadr2b::sig::ObjectType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object (::std::ostream& os, + const ::oadr2b::sig::ObjectType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Object (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ObjectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ObjectType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Object (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ObjectType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Object (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ObjectType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Object (const ::oadr2b::sig::ObjectType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Manifest (::std::ostream& os, + const ::oadr2b::sig::ManifestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Manifest (::std::ostream& os, + const ::oadr2b::sig::ManifestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Manifest (::std::ostream& os, + const ::oadr2b::sig::ManifestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Manifest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ManifestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Manifest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ManifestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Manifest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::ManifestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Manifest (::xercesc::DOMDocument& d, + const ::oadr2b::sig::ManifestType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Manifest (const ::oadr2b::sig::ManifestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignatureProperties (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertiesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperties (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertiesType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperties (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertiesType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignatureProperties (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertiesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperties (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertiesType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperties (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertiesType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignatureProperties (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignaturePropertiesType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureProperties (const ::oadr2b::sig::SignaturePropertiesType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + SignatureProperty (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperty (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperty (::std::ostream& os, + const ::oadr2b::sig::SignaturePropertyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + SignatureProperty (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperty (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertyType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + SignatureProperty (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::SignaturePropertyType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + SignatureProperty (::xercesc::DOMDocument& d, + const ::oadr2b::sig::SignaturePropertyType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + SignatureProperty (const ::oadr2b::sig::SignaturePropertyType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + DSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::DSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::DSAKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::DSAKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + DSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DSAKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::DSAKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + DSAKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::DSAKeyValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DSAKeyValue (const ::oadr2b::sig::DSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + RSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::RSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::RSAKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RSAKeyValue (::std::ostream& os, + const ::oadr2b::sig::RSAKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + RSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RSAKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + RSAKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::sig::RSAKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + RSAKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::sig::RSAKeyValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + RSAKeyValue (const ::oadr2b::sig::RSAKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_XMLDSIG_HXX diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig11.cxx b/oadrsd/oadrsd/2b/oadr_xmldsig11.cxx new file mode 100644 index 0000000..4a17609 --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig11.cxx @@ -0,0 +1,3767 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "oadr_xmldsig11.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::ECKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::ECKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::ECKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::ECKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::ECKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::ECKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > ( + ::oadr2b::dsig11::ECKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::ECKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > r ( + dynamic_cast< ::oadr2b::dsig11::ECKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::ECKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > r ( + dynamic_cast< ::oadr2b::dsig11::ECKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::Prime (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::Prime (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::Prime (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::Prime (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::Prime (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::Prime (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > ( + ::oadr2b::dsig11::Prime ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::PrimeFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::PrimeFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Prime", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::PrimeFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::PrimeFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Prime", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::GnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::GnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::GnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::GnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::GnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::GnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > ( + ::oadr2b::dsig11::GnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::CharTwoFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::CharTwoFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "GnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::CharTwoFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::CharTwoFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "GnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::TnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::TnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::TnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::TnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::TnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::TnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > ( + ::oadr2b::dsig11::TnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::TnBFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::TnBFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "TnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::TnBFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::TnBFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "TnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::PnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::PnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::PnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::PnB (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::PnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::PnB (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > ( + ::oadr2b::dsig11::PnB ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::PnBFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::PnBFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::PnBFieldParamsType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > r ( + dynamic_cast< ::oadr2b::dsig11::PnBFieldParamsType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PnB", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::DEREncodedKeyValue (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > ( + ::oadr2b::dsig11::DEREncodedKeyValue ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::DEREncodedKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > r ( + dynamic_cast< ::oadr2b::dsig11::DEREncodedKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::DEREncodedKeyValueType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > r ( + dynamic_cast< ::oadr2b::dsig11::DEREncodedKeyValueType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::KeyInfoReference (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::KeyInfoReference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::KeyInfoReference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::KeyInfoReference (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::KeyInfoReference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::KeyInfoReference (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > ( + ::oadr2b::dsig11::KeyInfoReference ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::KeyInfoReferenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > r ( + dynamic_cast< ::oadr2b::dsig11::KeyInfoReferenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::KeyInfoReferenceType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > r ( + dynamic_cast< ::oadr2b::dsig11::KeyInfoReferenceType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& u, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& u, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& u, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + u, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::X509Digest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::X509Digest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is); + return ::oadr2b::dsig11::X509Digest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::X509Digest (isrc, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& sid, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0, + (f & ::xml_schema::flags::keep_dom) == 0); + + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::X509Digest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& sid, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::xml::sax::std_input_source isrc (is, sid); + return ::oadr2b::dsig11::X509Digest (isrc, h, f, p); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& i, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xsd::cxx::tree::error_handler< char > h; + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& i, + ::xml_schema::error_handler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& i, + ::xercesc::DOMErrorHandler& h, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::xsd::cxx::xml::dom::parse< char > ( + i, h, p, f)); + + if (!d.get ()) + throw ::xsd::cxx::tree::parsing< char > (); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::xercesc::DOMDocument& doc, + ::xml_schema::flags f, + const ::xml_schema::properties& p) + { + if (f & ::xml_schema::flags::keep_dom) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (true))); + + return ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > ( + ::oadr2b::dsig11::X509Digest ( + d, f | ::xml_schema::flags::own_dom, p)); + } + + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Digest", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::X509DigestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > r ( + dynamic_cast< ::oadr2b::dsig11::X509DigestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Digest", + "http://www.w3.org/2009/xmldsig11#"); + } + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f, + const ::xml_schema::properties&) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c ( + ((f & ::xml_schema::flags::keep_dom) && + !(f & ::xml_schema::flags::own_dom)) + ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true)) + : 0); + + ::xercesc::DOMDocument& doc (c.get () ? *c : *d); + const ::xercesc::DOMElement& e (*doc.getDocumentElement ()); + + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (f & ::xml_schema::flags::keep_dom) + doc.setUserData (::xml_schema::dom::tree_node_key, + (c.get () ? &c : &d), + 0); + + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "X509Digest", + "http://www.w3.org/2009/xmldsig11#", + &::xsd::cxx::tree::factory_impl< ::oadr2b::dsig11::X509DigestType >, + true, true, e, n, f, 0)); + + if (tmp.get () != 0) + { + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > r ( + dynamic_cast< ::oadr2b::dsig11::X509DigestType* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + return r; + } + + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Digest", + "http://www.w3.org/2009/xmldsig11#"); + } + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace dsig11 + { + void + ECKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::ECKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ECKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::ECKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ECKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::ECKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ECKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::ECKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + ECKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::ECKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ECKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::ECKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::ECKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + ECKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::ECKeyValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::ECKeyValueType) == typeid (s)) + { + if (n.name () == "ECKeyValue" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ECKeyValue (const ::oadr2b::dsig11::ECKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::ECKeyValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "ECKeyValue", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::ECKeyValue (*d, s, f); + return d; + } + + void + Prime (::std::ostream& o, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Prime (::std::ostream& o, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Prime (::std::ostream& o, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Prime (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + Prime (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Prime (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::Prime (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + Prime (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::PrimeFieldParamsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::PrimeFieldParamsType) == typeid (s)) + { + if (n.name () == "Prime" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "Prime", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Prime (const ::oadr2b::dsig11::PrimeFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::PrimeFieldParamsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "Prime", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::Prime (*d, s, f); + return d; + } + + void + GnB (::std::ostream& o, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + GnB (::std::ostream& o, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + GnB (::std::ostream& o, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + GnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + GnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + GnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::GnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + GnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::CharTwoFieldParamsType) == typeid (s)) + { + if (n.name () == "GnB" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "GnB", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + GnB (const ::oadr2b::dsig11::CharTwoFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::CharTwoFieldParamsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "GnB", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::GnB (*d, s, f); + return d; + } + + void + TnB (::std::ostream& o, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + TnB (::std::ostream& o, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + TnB (::std::ostream& o, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + TnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + TnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + TnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::TnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + TnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::TnBFieldParamsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::TnBFieldParamsType) == typeid (s)) + { + if (n.name () == "TnB" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "TnB", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + TnB (const ::oadr2b::dsig11::TnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::TnBFieldParamsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "TnB", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::TnB (*d, s, f); + return d; + } + + void + PnB (::std::ostream& o, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + PnB (::std::ostream& o, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PnB (::std::ostream& o, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + PnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PnB (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::PnB (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + PnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::PnBFieldParamsType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::PnBFieldParamsType) == typeid (s)) + { + if (n.name () == "PnB" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "PnB", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + PnB (const ::oadr2b::dsig11::PnBFieldParamsType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::PnBFieldParamsType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "PnB", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::PnB (*d, s, f); + return d; + } + + void + DEREncodedKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DEREncodedKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DEREncodedKeyValue (::std::ostream& o, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::DEREncodedKeyValue (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + DEREncodedKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::DEREncodedKeyValueType) == typeid (s)) + { + if (n.name () == "DEREncodedKeyValue" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DEREncodedKeyValue (const ::oadr2b::dsig11::DEREncodedKeyValueType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::DEREncodedKeyValueType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "DEREncodedKeyValue", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::DEREncodedKeyValue (*d, s, f); + return d; + } + + void + KeyInfoReference (::std::ostream& o, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyInfoReference (::std::ostream& o, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfoReference (::std::ostream& o, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfoReference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + KeyInfoReference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfoReference (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::KeyInfoReference (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + KeyInfoReference (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::KeyInfoReferenceType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::KeyInfoReferenceType) == typeid (s)) + { + if (n.name () == "KeyInfoReference" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyInfoReference (const ::oadr2b::dsig11::KeyInfoReferenceType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::KeyInfoReferenceType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "KeyInfoReference", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::KeyInfoReference (*d, s, f); + return d; + } + + void + X509Digest (::std::ostream& o, + const ::oadr2b::dsig11::X509DigestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + X509Digest (::std::ostream& o, + const ::oadr2b::dsig11::X509DigestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xsd::cxx::xml::auto_initializer i ( + (f & ::xml_schema::flags::dont_initialize) == 0); + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Digest (::std::ostream& o, + const ::oadr2b::dsig11::X509DigestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + ::xsd::cxx::xml::dom::ostream_format_target t (o); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Digest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::X509DigestType& s, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + + ::xsd::cxx::tree::error_handler< char > h; + + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > (); + } + } + + void + X509Digest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::X509DigestType& s, + ::xml_schema::error_handler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Digest (::xercesc::XMLFormatTarget& t, + const ::oadr2b::dsig11::X509DigestType& s, + ::xercesc::DOMErrorHandler& h, + const ::xml_schema::namespace_infomap& m, + const ::std::string& e, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d ( + ::oadr2b::dsig11::X509Digest (s, m, f)); + if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f)) + { + throw ::xsd::cxx::tree::serialization< char > (); + } + } + + void + X509Digest (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::X509DigestType& s, + ::xml_schema::flags) + { + ::xercesc::DOMElement& e (*d.getDocumentElement ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (e)); + + if (typeid (::oadr2b::dsig11::X509DigestType) == typeid (s)) + { + if (n.name () == "X509Digest" && + n.namespace_ () == "http://www.w3.org/2009/xmldsig11#") + { + e << s; + } + else + { + throw ::xsd::cxx::tree::unexpected_element < char > ( + n.name (), + n.namespace_ (), + "X509Digest", + "http://www.w3.org/2009/xmldsig11#"); + } + } + else + { + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "X509Digest", + "http://www.w3.org/2009/xmldsig11#", + e, n, s); + } + } + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + X509Digest (const ::oadr2b::dsig11::X509DigestType& s, + const ::xml_schema::namespace_infomap& m, + ::xml_schema::flags f) + { + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d; + + if (typeid (::oadr2b::dsig11::X509DigestType) == typeid (s)) + { + d = ::xsd::cxx::xml::dom::serialize< char > ( + "X509Digest", + "http://www.w3.org/2009/xmldsig11#", + m, f); + } + else + { + d = ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ().serialize ( + "X509Digest", + "http://www.w3.org/2009/xmldsig11#", + m, s, f); + } + + ::oadr2b::dsig11::X509Digest (*d, s, f); + return d; + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/oadr_xmldsig11.hxx b/oadrsd/oadrsd/2b/oadr_xmldsig11.hxx new file mode 100644 index 0000000..52d11dc --- /dev/null +++ b/oadrsd/oadrsd/2b/oadr_xmldsig11.hxx @@ -0,0 +1,1631 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef OADR_XMLDSIG11_HXX +#define OADR_XMLDSIG11_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace dsig11 + { + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "oadr_xmldsig.hxx" + +#include "ECKeyValueType.hxx" + +#include "NamedCurveType.hxx" + +#include "ECPointType.hxx" + +#include "ECParametersType.hxx" + +#include "FieldIDType.hxx" + +#include "CurveType.hxx" + +#include "ECValidationDataType.hxx" + +#include "PrimeFieldParamsType.hxx" + +#include "CharTwoFieldParamsType.hxx" + +#include "TnBFieldParamsType.hxx" + +#include "PnBFieldParamsType.hxx" + +#include "DEREncodedKeyValueType.hxx" + +#include "KeyInfoReferenceType.hxx" + +#include "X509DigestType.hxx" + +namespace oadr2b +{ + namespace dsig11 + { + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace dsig11 + { + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::ECKeyValueType > + ECKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PrimeFieldParamsType > + Prime (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::CharTwoFieldParamsType > + GnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::TnBFieldParamsType > + TnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::PnBFieldParamsType > + PnB (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::DEREncodedKeyValueType > + DEREncodedKeyValue (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::KeyInfoReferenceType > + KeyInfoReference (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse a URI or a local file. + // + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& uri, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& uri, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::std::string& uri, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse std::istream. + // + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& id, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& id, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::std::istream& is, + const ::std::string& id, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::InputSource. + // + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& is, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& is, + ::xml_schema::error_handler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xercesc::InputSource& is, + ::xercesc::DOMErrorHandler& eh, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + // Parse xercesc::DOMDocument. + // + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (const ::xercesc::DOMDocument& d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + + ::std::auto_ptr< ::oadr2b::dsig11::X509DigestType > + X509Digest (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d, + ::xml_schema::flags f = 0, + const ::xml_schema::properties& p = ::xml_schema::properties ()); + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace dsig11 + { + // Serialize to std::ostream. + // + + void + ECKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::ECKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ECKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::ECKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ECKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::ECKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + ECKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::ECKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ECKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::ECKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + ECKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::ECKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + ECKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::ECKeyValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + ECKeyValue (const ::oadr2b::dsig11::ECKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + Prime (::std::ostream& os, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Prime (::std::ostream& os, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Prime (::std::ostream& os, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + Prime (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Prime (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + Prime (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + Prime (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::PrimeFieldParamsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + Prime (const ::oadr2b::dsig11::PrimeFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + GnB (::std::ostream& os, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + GnB (::std::ostream& os, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + GnB (::std::ostream& os, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + GnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + GnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + GnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + GnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + GnB (const ::oadr2b::dsig11::CharTwoFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + TnB (::std::ostream& os, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + TnB (::std::ostream& os, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + TnB (::std::ostream& os, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + TnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + TnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + TnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + TnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::TnBFieldParamsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + TnB (const ::oadr2b::dsig11::TnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + PnB (::std::ostream& os, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PnB (::std::ostream& os, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PnB (::std::ostream& os, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + PnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + PnB (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + PnB (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::PnBFieldParamsType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + PnB (const ::oadr2b::dsig11::PnBFieldParamsType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + DEREncodedKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DEREncodedKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DEREncodedKeyValue (::std::ostream& os, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + DEREncodedKeyValue (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + DEREncodedKeyValue (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + DEREncodedKeyValue (const ::oadr2b::dsig11::DEREncodedKeyValueType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + KeyInfoReference (::std::ostream& os, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfoReference (::std::ostream& os, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfoReference (::std::ostream& os, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + KeyInfoReference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfoReference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + KeyInfoReference (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + KeyInfoReference (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::KeyInfoReferenceType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + KeyInfoReference (const ::oadr2b::dsig11::KeyInfoReferenceType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + + // Serialize to std::ostream. + // + + void + X509Digest (::std::ostream& os, + const ::oadr2b::dsig11::X509DigestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Digest (::std::ostream& os, + const ::oadr2b::dsig11::X509DigestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Digest (::std::ostream& os, + const ::oadr2b::dsig11::X509DigestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to xercesc::XMLFormatTarget. + // + + void + X509Digest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::X509DigestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Digest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::X509DigestType& x, + ::xml_schema::error_handler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + void + X509Digest (::xercesc::XMLFormatTarget& ft, + const ::oadr2b::dsig11::X509DigestType& x, + ::xercesc::DOMErrorHandler& eh, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + const ::std::string& e = "UTF-8", + ::xml_schema::flags f = 0); + + // Serialize to an existing xercesc::DOMDocument. + // + + void + X509Digest (::xercesc::DOMDocument& d, + const ::oadr2b::dsig11::X509DigestType& x, + ::xml_schema::flags f = 0); + + // Serialize to a new xercesc::DOMDocument. + // + + ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > + X509Digest (const ::oadr2b::dsig11::X509DigestType& x, + const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (), + ::xml_schema::flags f = 0); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // OADR_XMLDSIG11_HXX diff --git a/oadrsd/oadrsd/2b/personType.cxx b/oadrsd/oadrsd/2b/personType.cxx new file mode 100644 index 0000000..e4fefae --- /dev/null +++ b/oadrsd/oadrsd/2b/personType.cxx @@ -0,0 +1,520 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "personType.hxx" + +#include "uriType.hxx" + +#include "emailType.hxx" + +namespace Atom +{ + // personType + // + + const personType::name_sequence& personType:: + name () const + { + return this->name_; + } + + personType::name_sequence& personType:: + name () + { + return this->name_; + } + + void personType:: + name (const name_sequence& s) + { + this->name_ = s; + } + + const personType::uri_sequence& personType:: + uri () const + { + return this->uri_; + } + + personType::uri_sequence& personType:: + uri () + { + return this->uri_; + } + + void personType:: + uri (const uri_sequence& s) + { + this->uri_ = s; + } + + const personType::email_sequence& personType:: + email () const + { + return this->email_; + } + + personType::email_sequence& personType:: + email () + { + return this->email_; + } + + void personType:: + email (const email_sequence& s) + { + this->email_ = s; + } + + const personType::base_optional& personType:: + base () const + { + return this->base_; + } + + personType::base_optional& personType:: + base () + { + return this->base_; + } + + void personType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void personType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void personType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const personType::lang_optional& personType:: + lang () const + { + return this->lang_; + } + + personType::lang_optional& personType:: + lang () + { + return this->lang_; + } + + void personType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void personType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void personType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // personType + // + + personType:: + personType () + : ::xml_schema::type (), + name_ (this), + uri_ (this), + email_ (this), + base_ (this), + lang_ (this) + { + } + + personType:: + personType (const personType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + name_ (x.name_, f, this), + uri_ (x.uri_, f, this), + email_ (x.email_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + personType:: + personType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + name_ (this), + uri_ (this), + email_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void personType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // name + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "name", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< name_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< name_type > r ( + dynamic_cast< name_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->name_.push_back (r); + continue; + } + } + + // uri + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "uri", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< uri_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< uri_type > r ( + dynamic_cast< uri_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->uri_.push_back (r); + continue; + } + } + + // email + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "email", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< email_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< email_type > r ( + dynamic_cast< email_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->email_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + personType* personType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class personType (*this, f, c); + } + + personType& personType:: + operator= (const personType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->name_ = x.name_; + this->uri_ = x.uri_; + this->email_ = x.email_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + personType:: + ~personType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, personType > + _xsd_personType_type_factory_init ( + "personType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const personType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // name + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (personType::name_const_iterator + b (i.name ().begin ()), n (i.name ().end ()); + b != n; ++b) + { + if (typeid (personType::name_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "name", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "name", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // uri + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (personType::uri_const_iterator + b (i.uri ().begin ()), n (i.uri ().end ()); + b != n; ++b) + { + if (typeid (personType::uri_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "uri", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "uri", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // email + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (personType::email_const_iterator + b (i.email ().begin ()), n (i.email ().end ()); + b != n; ++b) + { + if (typeid (personType::email_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "email", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "email", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, personType > + _xsd_personType_type_serializer_init ( + "personType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/personType.hxx b/oadrsd/oadrsd/2b/personType.hxx new file mode 100644 index 0000000..3fb7571 --- /dev/null +++ b/oadrsd/oadrsd/2b/personType.hxx @@ -0,0 +1,448 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PERSON_TYPE_HXX +#define PERSON_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class personType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class uriType; +} + +namespace Atom +{ + class emailType; +} + +namespace Atom +{ + class personType: public ::xml_schema::type + { + public: + // name + // + typedef ::xml_schema::string name_type; + typedef ::xsd::cxx::tree::sequence< name_type > name_sequence; + typedef name_sequence::iterator name_iterator; + typedef name_sequence::const_iterator name_const_iterator; + typedef ::xsd::cxx::tree::traits< name_type, char > name_traits; + + const name_sequence& + name () const; + + name_sequence& + name (); + + void + name (const name_sequence& s); + + // uri + // + typedef ::Atom::uriType uri_type; + typedef ::xsd::cxx::tree::sequence< uri_type > uri_sequence; + typedef uri_sequence::iterator uri_iterator; + typedef uri_sequence::const_iterator uri_const_iterator; + typedef ::xsd::cxx::tree::traits< uri_type, char > uri_traits; + + const uri_sequence& + uri () const; + + uri_sequence& + uri (); + + void + uri (const uri_sequence& s); + + // email + // + typedef ::Atom::emailType email_type; + typedef ::xsd::cxx::tree::sequence< email_type > email_sequence; + typedef email_sequence::iterator email_iterator; + typedef email_sequence::const_iterator email_const_iterator; + typedef ::xsd::cxx::tree::traits< email_type, char > email_traits; + + const email_sequence& + email () const; + + email_sequence& + email (); + + void + email (const email_sequence& s); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + personType (); + + personType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + personType (const personType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual personType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + personType& + operator= (const personType& x); + + virtual + ~personType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + name_sequence name_; + uri_sequence uri_; + email_sequence email_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const personType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PERSON_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/properties.cxx b/oadrsd/oadrsd/2b/properties.cxx new file mode 100644 index 0000000..28f16b5 --- /dev/null +++ b/oadrsd/oadrsd/2b/properties.cxx @@ -0,0 +1,662 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "properties.hxx" + +#include "dtstart.hxx" + +#include "DurationPropType.hxx" + +#include "tolerance.hxx" + +namespace icalendar_2_0 +{ + // properties + // + + const properties::dtstart_type& properties:: + dtstart () const + { + return this->dtstart_.get (); + } + + properties::dtstart_type& properties:: + dtstart () + { + return this->dtstart_.get (); + } + + void properties:: + dtstart (const dtstart_type& x) + { + this->dtstart_.set (x); + } + + void properties:: + dtstart (::std::auto_ptr< dtstart_type > x) + { + this->dtstart_.set (x); + } + + const properties::duration_type& properties:: + duration () const + { + return this->duration_.get (); + } + + properties::duration_type& properties:: + duration () + { + return this->duration_.get (); + } + + void properties:: + duration (const duration_type& x) + { + this->duration_.set (x); + } + + void properties:: + duration (::std::auto_ptr< duration_type > x) + { + this->duration_.set (x); + } + + const properties::tolerance_optional& properties:: + tolerance () const + { + return this->tolerance_; + } + + properties::tolerance_optional& properties:: + tolerance () + { + return this->tolerance_; + } + + void properties:: + tolerance (const tolerance_type& x) + { + this->tolerance_.set (x); + } + + void properties:: + tolerance (const tolerance_optional& x) + { + this->tolerance_ = x; + } + + void properties:: + tolerance (::std::auto_ptr< tolerance_type > x) + { + this->tolerance_.set (x); + } + + const properties::x_eiNotification_optional& properties:: + x_eiNotification () const + { + return this->x_eiNotification_; + } + + properties::x_eiNotification_optional& properties:: + x_eiNotification () + { + return this->x_eiNotification_; + } + + void properties:: + x_eiNotification (const x_eiNotification_type& x) + { + this->x_eiNotification_.set (x); + } + + void properties:: + x_eiNotification (const x_eiNotification_optional& x) + { + this->x_eiNotification_ = x; + } + + void properties:: + x_eiNotification (::std::auto_ptr< x_eiNotification_type > x) + { + this->x_eiNotification_.set (x); + } + + const properties::x_eiRampUp_optional& properties:: + x_eiRampUp () const + { + return this->x_eiRampUp_; + } + + properties::x_eiRampUp_optional& properties:: + x_eiRampUp () + { + return this->x_eiRampUp_; + } + + void properties:: + x_eiRampUp (const x_eiRampUp_type& x) + { + this->x_eiRampUp_.set (x); + } + + void properties:: + x_eiRampUp (const x_eiRampUp_optional& x) + { + this->x_eiRampUp_ = x; + } + + void properties:: + x_eiRampUp (::std::auto_ptr< x_eiRampUp_type > x) + { + this->x_eiRampUp_.set (x); + } + + const properties::x_eiRecovery_optional& properties:: + x_eiRecovery () const + { + return this->x_eiRecovery_; + } + + properties::x_eiRecovery_optional& properties:: + x_eiRecovery () + { + return this->x_eiRecovery_; + } + + void properties:: + x_eiRecovery (const x_eiRecovery_type& x) + { + this->x_eiRecovery_.set (x); + } + + void properties:: + x_eiRecovery (const x_eiRecovery_optional& x) + { + this->x_eiRecovery_ = x; + } + + void properties:: + x_eiRecovery (::std::auto_ptr< x_eiRecovery_type > x) + { + this->x_eiRecovery_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // properties + // + + properties:: + properties (const dtstart_type& dtstart, + const duration_type& duration) + : ::xml_schema::type (), + dtstart_ (dtstart, this), + duration_ (duration, this), + tolerance_ (this), + x_eiNotification_ (this), + x_eiRampUp_ (this), + x_eiRecovery_ (this) + { + } + + properties:: + properties (::std::auto_ptr< dtstart_type > dtstart, + ::std::auto_ptr< duration_type > duration) + : ::xml_schema::type (), + dtstart_ (dtstart, this), + duration_ (duration, this), + tolerance_ (this), + x_eiNotification_ (this), + x_eiRampUp_ (this), + x_eiRecovery_ (this) + { + } + + properties:: + properties (const properties& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + dtstart_ (x.dtstart_, f, this), + duration_ (x.duration_, f, this), + tolerance_ (x.tolerance_, f, this), + x_eiNotification_ (x.x_eiNotification_, f, this), + x_eiRampUp_ (x.x_eiRampUp_, f, this), + x_eiRecovery_ (x.x_eiRecovery_, f, this) + { + } + + properties:: + properties (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + dtstart_ (this), + duration_ (this), + tolerance_ (this), + x_eiNotification_ (this), + x_eiRampUp_ (this), + x_eiRecovery_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void properties:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // dtstart + // + if (n.name () == "dtstart" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< dtstart_type > r ( + dtstart_traits::create (i, f, this)); + + if (!dtstart_.present ()) + { + this->dtstart_.set (r); + continue; + } + } + + // duration + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< duration_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!duration_.present ()) + { + ::std::auto_ptr< duration_type > r ( + dynamic_cast< duration_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->duration_.set (r); + continue; + } + } + } + + // tolerance + // + if (n.name () == "tolerance" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< tolerance_type > r ( + tolerance_traits::create (i, f, this)); + + if (!this->tolerance_) + { + this->tolerance_.set (r); + continue; + } + } + + // x-eiNotification + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< x_eiNotification_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->x_eiNotification_) + { + ::std::auto_ptr< x_eiNotification_type > r ( + dynamic_cast< x_eiNotification_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->x_eiNotification_.set (r); + continue; + } + } + } + + // x-eiRampUp + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< x_eiRampUp_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->x_eiRampUp_) + { + ::std::auto_ptr< x_eiRampUp_type > r ( + dynamic_cast< x_eiRampUp_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->x_eiRampUp_.set (r); + continue; + } + } + } + + // x-eiRecovery + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< x_eiRecovery_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->x_eiRecovery_) + { + ::std::auto_ptr< x_eiRecovery_type > r ( + dynamic_cast< x_eiRecovery_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->x_eiRecovery_.set (r); + continue; + } + } + } + + break; + } + + if (!dtstart_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + + if (!duration_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + properties* properties:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class properties (*this, f, c); + } + + properties& properties:: + operator= (const properties& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->dtstart_ = x.dtstart_; + this->duration_ = x.duration_; + this->tolerance_ = x.tolerance_; + this->x_eiNotification_ = x.x_eiNotification_; + this->x_eiRampUp_ = x.x_eiRampUp_; + this->x_eiRecovery_ = x.x_eiRecovery_; + } + + return *this; + } + + properties:: + ~properties () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const properties& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // dtstart + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "dtstart", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.dtstart (); + } + + // duration + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const properties::duration_type& x (i.duration ()); + if (typeid (properties::duration_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "duration", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + + // tolerance + // + if (i.tolerance ()) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tolerance", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << *i.tolerance (); + } + + // x-eiNotification + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.x_eiNotification ()) + { + const properties::x_eiNotification_type& x (*i.x_eiNotification ()); + if (typeid (properties::x_eiNotification_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "x-eiNotification", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // x-eiRampUp + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.x_eiRampUp ()) + { + const properties::x_eiRampUp_type& x (*i.x_eiRampUp ()); + if (typeid (properties::x_eiRampUp_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "x-eiRampUp", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + // x-eiRecovery + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.x_eiRecovery ()) + { + const properties::x_eiRecovery_type& x (*i.x_eiRecovery ()); + if (typeid (properties::x_eiRecovery_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "x-eiRecovery", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/properties.hxx b/oadrsd/oadrsd/2b/properties.hxx new file mode 100644 index 0000000..6eda13b --- /dev/null +++ b/oadrsd/oadrsd/2b/properties.hxx @@ -0,0 +1,483 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PROPERTIES_HXX +#define PROPERTIES_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class properties; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class dtstart; +} + +namespace icalendar_2_0 +{ + class DurationPropType; +} + +namespace icalendar_2_0 +{ + class tolerance; +} + +namespace icalendar_2_0 +{ + class properties: public ::xml_schema::type + { + public: + // dtstart + // + typedef ::icalendar_2_0::dtstart dtstart_type; + typedef ::xsd::cxx::tree::traits< dtstart_type, char > dtstart_traits; + + const dtstart_type& + dtstart () const; + + dtstart_type& + dtstart (); + + void + dtstart (const dtstart_type& x); + + void + dtstart (::std::auto_ptr< dtstart_type > p); + + // duration + // + typedef ::icalendar_2_0::DurationPropType duration_type; + typedef ::xsd::cxx::tree::traits< duration_type, char > duration_traits; + + const duration_type& + duration () const; + + duration_type& + duration (); + + void + duration (const duration_type& x); + + void + duration (::std::auto_ptr< duration_type > p); + + // tolerance + // + typedef ::icalendar_2_0::tolerance tolerance_type; + typedef ::xsd::cxx::tree::optional< tolerance_type > tolerance_optional; + typedef ::xsd::cxx::tree::traits< tolerance_type, char > tolerance_traits; + + const tolerance_optional& + tolerance () const; + + tolerance_optional& + tolerance (); + + void + tolerance (const tolerance_type& x); + + void + tolerance (const tolerance_optional& x); + + void + tolerance (::std::auto_ptr< tolerance_type > p); + + // x-eiNotification + // + typedef ::icalendar_2_0::DurationPropType x_eiNotification_type; + typedef ::xsd::cxx::tree::optional< x_eiNotification_type > x_eiNotification_optional; + typedef ::xsd::cxx::tree::traits< x_eiNotification_type, char > x_eiNotification_traits; + + const x_eiNotification_optional& + x_eiNotification () const; + + x_eiNotification_optional& + x_eiNotification (); + + void + x_eiNotification (const x_eiNotification_type& x); + + void + x_eiNotification (const x_eiNotification_optional& x); + + void + x_eiNotification (::std::auto_ptr< x_eiNotification_type > p); + + // x-eiRampUp + // + typedef ::icalendar_2_0::DurationPropType x_eiRampUp_type; + typedef ::xsd::cxx::tree::optional< x_eiRampUp_type > x_eiRampUp_optional; + typedef ::xsd::cxx::tree::traits< x_eiRampUp_type, char > x_eiRampUp_traits; + + const x_eiRampUp_optional& + x_eiRampUp () const; + + x_eiRampUp_optional& + x_eiRampUp (); + + void + x_eiRampUp (const x_eiRampUp_type& x); + + void + x_eiRampUp (const x_eiRampUp_optional& x); + + void + x_eiRampUp (::std::auto_ptr< x_eiRampUp_type > p); + + // x-eiRecovery + // + typedef ::icalendar_2_0::DurationPropType x_eiRecovery_type; + typedef ::xsd::cxx::tree::optional< x_eiRecovery_type > x_eiRecovery_optional; + typedef ::xsd::cxx::tree::traits< x_eiRecovery_type, char > x_eiRecovery_traits; + + const x_eiRecovery_optional& + x_eiRecovery () const; + + x_eiRecovery_optional& + x_eiRecovery (); + + void + x_eiRecovery (const x_eiRecovery_type& x); + + void + x_eiRecovery (const x_eiRecovery_optional& x); + + void + x_eiRecovery (::std::auto_ptr< x_eiRecovery_type > p); + + // Constructors. + // + properties (const dtstart_type&, + const duration_type&); + + properties (::std::auto_ptr< dtstart_type >, + ::std::auto_ptr< duration_type >); + + properties (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + properties (const properties& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual properties* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + properties& + operator= (const properties& x); + + virtual + ~properties (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< dtstart_type > dtstart_; + ::xsd::cxx::tree::one< duration_type > duration_; + tolerance_optional tolerance_; + x_eiNotification_optional x_eiNotification_; + x_eiRampUp_optional x_eiRampUp_; + x_eiRecovery_optional x_eiRecovery_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const properties&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PROPERTIES_HXX diff --git a/oadrsd/oadrsd/2b/pulseCountType.cxx b/oadrsd/oadrsd/2b/pulseCountType.cxx new file mode 100644 index 0000000..8a9acf2 --- /dev/null +++ b/oadrsd/oadrsd/2b/pulseCountType.cxx @@ -0,0 +1,447 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "pulseCountType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // pulseCountType + // + + const pulseCountType::itemDescription_type& pulseCountType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + pulseCountType::itemDescription_type& pulseCountType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void pulseCountType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void pulseCountType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const pulseCountType::itemDescription_type& pulseCountType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const pulseCountType::itemUnits_type& pulseCountType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + pulseCountType::itemUnits_type& pulseCountType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void pulseCountType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void pulseCountType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const pulseCountType::itemUnits_type& pulseCountType:: + itemUnits_default_value () + { + return itemUnits_default_value_; + } + + const pulseCountType::pulseFactor_type& pulseCountType:: + pulseFactor () const + { + return this->pulseFactor_.get (); + } + + pulseCountType::pulseFactor_type& pulseCountType:: + pulseFactor () + { + return this->pulseFactor_.get (); + } + + void pulseCountType:: + pulseFactor (const pulseFactor_type& x) + { + this->pulseFactor_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // pulseCountType + // + + const pulseCountType::itemDescription_type pulseCountType::itemDescription_default_value_ ( + "pulse count"); + + const pulseCountType::itemUnits_type pulseCountType::itemUnits_default_value_ ( + "count"); + + pulseCountType:: + pulseCountType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const pulseFactor_type& pulseFactor) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + pulseFactor_ (pulseFactor, this) + { + } + + pulseCountType:: + pulseCountType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + const pulseFactor_type& pulseFactor) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + pulseFactor_ (pulseFactor, this) + { + } + + pulseCountType:: + pulseCountType (const pulseCountType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + pulseFactor_ (x.pulseFactor_, f, this) + { + } + + pulseCountType:: + pulseCountType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + pulseFactor_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void pulseCountType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // pulseFactor + // + if (n.name () == "pulseFactor" && n.namespace_ () == "http://openadr.org/oadr-2.0b/2012/07") + { + if (!pulseFactor_.present ()) + { + this->pulseFactor_.set (pulseFactor_traits::create (i, f, this)); + continue; + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!pulseFactor_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07"); + } + } + + pulseCountType* pulseCountType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class pulseCountType (*this, f, c); + } + + pulseCountType& pulseCountType:: + operator= (const pulseCountType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->pulseFactor_ = x.pulseFactor_; + } + + return *this; + } + + pulseCountType:: + ~pulseCountType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, pulseCountType > + _xsd_pulseCountType_type_factory_init ( + "pulseCountType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const pulseCountType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const pulseCountType::itemDescription_type& x (i.itemDescription ()); + if (typeid (pulseCountType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const pulseCountType::itemUnits_type& x (i.itemUnits ()); + if (typeid (pulseCountType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // pulseFactor + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "pulseFactor", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << i.pulseFactor (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, pulseCountType > + _xsd_pulseCountType_type_serializer_init ( + "pulseCountType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/pulseCountType.hxx b/oadrsd/oadrsd/2b/pulseCountType.hxx new file mode 100644 index 0000000..adf030e --- /dev/null +++ b/oadrsd/oadrsd/2b/pulseCountType.hxx @@ -0,0 +1,419 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef PULSE_COUNT_TYPE_HXX +#define PULSE_COUNT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class pulseCountType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class pulseCountType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::xml_schema::string itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + static const itemUnits_type& + itemUnits_default_value (); + + // pulseFactor + // + typedef ::xml_schema::float_ pulseFactor_type; + typedef ::xsd::cxx::tree::traits< pulseFactor_type, char > pulseFactor_traits; + + const pulseFactor_type& + pulseFactor () const; + + pulseFactor_type& + pulseFactor (); + + void + pulseFactor (const pulseFactor_type& x); + + // Constructors. + // + pulseCountType (const itemDescription_type&, + const itemUnits_type&, + const pulseFactor_type&); + + pulseCountType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + const pulseFactor_type&); + + pulseCountType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + pulseCountType (const pulseCountType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual pulseCountType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + pulseCountType& + operator= (const pulseCountType& x); + + virtual + ~pulseCountType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + static const itemUnits_type itemUnits_default_value_; + ::xsd::cxx::tree::one< pulseFactor_type > pulseFactor_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const pulseCountType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // PULSE_COUNT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/reportNameEnumeratedType.cxx b/oadrsd/oadrsd/2b/reportNameEnumeratedType.cxx new file mode 100644 index 0000000..8e0dec4 --- /dev/null +++ b/oadrsd/oadrsd/2b/reportNameEnumeratedType.cxx @@ -0,0 +1,259 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "reportNameEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // reportNameEnumeratedType + // + + reportNameEnumeratedType:: + reportNameEnumeratedType (value v) + : ::xml_schema::token (_xsd_reportNameEnumeratedType_literals_[v]) + { + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const reportNameEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + reportNameEnumeratedType& reportNameEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_reportNameEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // reportNameEnumeratedType + // + + reportNameEnumeratedType:: + reportNameEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_reportNameEnumeratedType_convert (); + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_reportNameEnumeratedType_convert (); + } + + reportNameEnumeratedType:: + reportNameEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_reportNameEnumeratedType_convert (); + } + + reportNameEnumeratedType* reportNameEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class reportNameEnumeratedType (*this, f, c); + } + + reportNameEnumeratedType::value reportNameEnumeratedType:: + _xsd_reportNameEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_reportNameEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_reportNameEnumeratedType_indexes_, + _xsd_reportNameEnumeratedType_indexes_ + 8, + *this, + c)); + + if (i == _xsd_reportNameEnumeratedType_indexes_ + 8 || _xsd_reportNameEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const reportNameEnumeratedType:: + _xsd_reportNameEnumeratedType_literals_[8] = + { + "METADATA_HISTORY_USAGE", + "HISTORY_USAGE", + "METADATA_HISTORY_GREENBUTTON", + "HISTORY_GREENBUTTON", + "METADATA_TELEMETRY_USAGE", + "TELEMETRY_USAGE", + "METADATA_TELEMETRY_STATUS", + "TELEMETRY_STATUS" + }; + + const reportNameEnumeratedType::value reportNameEnumeratedType:: + _xsd_reportNameEnumeratedType_indexes_[8] = + { + ::oadr2b::ei::reportNameEnumeratedType::HISTORY_GREENBUTTON, + ::oadr2b::ei::reportNameEnumeratedType::HISTORY_USAGE, + ::oadr2b::ei::reportNameEnumeratedType::METADATA_HISTORY_GREENBUTTON, + ::oadr2b::ei::reportNameEnumeratedType::METADATA_HISTORY_USAGE, + ::oadr2b::ei::reportNameEnumeratedType::METADATA_TELEMETRY_STATUS, + ::oadr2b::ei::reportNameEnumeratedType::METADATA_TELEMETRY_USAGE, + ::oadr2b::ei::reportNameEnumeratedType::TELEMETRY_STATUS, + ::oadr2b::ei::reportNameEnumeratedType::TELEMETRY_USAGE + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, reportNameEnumeratedType > + _xsd_reportNameEnumeratedType_type_factory_init ( + "reportNameEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const reportNameEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const reportNameEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const reportNameEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, reportNameEnumeratedType > + _xsd_reportNameEnumeratedType_type_serializer_init ( + "reportNameEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/reportNameEnumeratedType.hxx b/oadrsd/oadrsd/2b/reportNameEnumeratedType.hxx new file mode 100644 index 0000000..66ea201 --- /dev/null +++ b/oadrsd/oadrsd/2b/reportNameEnumeratedType.hxx @@ -0,0 +1,386 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_NAME_ENUMERATED_TYPE_HXX +#define REPORT_NAME_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class reportNameEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class reportNameEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + METADATA_HISTORY_USAGE, + HISTORY_USAGE, + METADATA_HISTORY_GREENBUTTON, + HISTORY_GREENBUTTON, + METADATA_TELEMETRY_USAGE, + TELEMETRY_USAGE, + METADATA_TELEMETRY_STATUS, + TELEMETRY_STATUS + }; + + reportNameEnumeratedType (value v); + + reportNameEnumeratedType (const char* v); + + reportNameEnumeratedType (const ::std::string& v); + + reportNameEnumeratedType (const ::xml_schema::token& v); + + reportNameEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameEnumeratedType (const reportNameEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual reportNameEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + reportNameEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_reportNameEnumeratedType_convert (); + } + + protected: + value + _xsd_reportNameEnumeratedType_convert () const; + + public: + static const char* const _xsd_reportNameEnumeratedType_literals_[8]; + static const value _xsd_reportNameEnumeratedType_indexes_[8]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const reportNameEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const reportNameEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const reportNameEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_NAME_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/reportNameType.cxx b/oadrsd/oadrsd/2b/reportNameType.cxx new file mode 100644 index 0000000..34fbfc6 --- /dev/null +++ b/oadrsd/oadrsd/2b/reportNameType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "reportNameType.hxx" + +namespace oadr2b +{ + namespace ei + { + // reportNameType + // + + reportNameType:: + reportNameType (const char* s) + : ::xml_schema::string (s) + { + } + + reportNameType:: + reportNameType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + reportNameType:: + reportNameType (const reportNameType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // reportNameType + // + + reportNameType:: + reportNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + reportNameType:: + reportNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + reportNameType:: + reportNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + reportNameType* reportNameType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class reportNameType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, reportNameType > + _xsd_reportNameType_type_factory_init ( + "reportNameType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const reportNameType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const reportNameType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const reportNameType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, reportNameType > + _xsd_reportNameType_type_serializer_init ( + "reportNameType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/reportNameType.hxx b/oadrsd/oadrsd/2b/reportNameType.hxx new file mode 100644 index 0000000..e96d3cb --- /dev/null +++ b/oadrsd/oadrsd/2b/reportNameType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef REPORT_NAME_TYPE_HXX +#define REPORT_NAME_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class reportNameType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class reportNameType: public ::xml_schema::string + { + public: + + reportNameType (const char* v); + + reportNameType (const ::std::string& v); + + reportNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + reportNameType (const reportNameType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual reportNameType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const reportNameType&); + + void + operator<< (::xercesc::DOMAttr&, const reportNameType&); + + void + operator<< (::xml_schema::list_stream&, + const reportNameType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // REPORT_NAME_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.cxx b/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.cxx new file mode 100644 index 0000000..10c5b55 --- /dev/null +++ b/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "schemaVersionEnumeratedType.hxx" + +namespace oadr2b +{ + namespace ei + { + // schemaVersionEnumeratedType + // + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (value v) + : ::xml_schema::token (_xsd_schemaVersionEnumeratedType_literals_[v]) + { + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const char* v) + : ::xml_schema::token (v) + { + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const schemaVersionEnumeratedType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + schemaVersionEnumeratedType& schemaVersionEnumeratedType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_schemaVersionEnumeratedType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // schemaVersionEnumeratedType + // + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_schemaVersionEnumeratedType_convert (); + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_schemaVersionEnumeratedType_convert (); + } + + schemaVersionEnumeratedType:: + schemaVersionEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_schemaVersionEnumeratedType_convert (); + } + + schemaVersionEnumeratedType* schemaVersionEnumeratedType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class schemaVersionEnumeratedType (*this, f, c); + } + + schemaVersionEnumeratedType::value schemaVersionEnumeratedType:: + _xsd_schemaVersionEnumeratedType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_schemaVersionEnumeratedType_literals_); + const value* i (::std::lower_bound ( + _xsd_schemaVersionEnumeratedType_indexes_, + _xsd_schemaVersionEnumeratedType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_schemaVersionEnumeratedType_indexes_ + 2 || _xsd_schemaVersionEnumeratedType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const schemaVersionEnumeratedType:: + _xsd_schemaVersionEnumeratedType_literals_[2] = + { + "2.0a", + "2.0b" + }; + + const schemaVersionEnumeratedType::value schemaVersionEnumeratedType:: + _xsd_schemaVersionEnumeratedType_indexes_[2] = + { + ::oadr2b::ei::schemaVersionEnumeratedType::cxx_2_0a, + ::oadr2b::ei::schemaVersionEnumeratedType::cxx_2_0b + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, schemaVersionEnumeratedType > + _xsd_schemaVersionEnumeratedType_type_factory_init ( + "schemaVersionEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const schemaVersionEnumeratedType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const schemaVersionEnumeratedType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const schemaVersionEnumeratedType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, schemaVersionEnumeratedType > + _xsd_schemaVersionEnumeratedType_type_serializer_init ( + "schemaVersionEnumeratedType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.hxx b/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.hxx new file mode 100644 index 0000000..95b4201 --- /dev/null +++ b/oadrsd/oadrsd/2b/schemaVersionEnumeratedType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SCHEMA_VERSION_ENUMERATED_TYPE_HXX +#define SCHEMA_VERSION_ENUMERATED_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class schemaVersionEnumeratedType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionEnumeratedType: public ::xml_schema::token + { + public: + enum value + { + cxx_2_0a, + cxx_2_0b + }; + + schemaVersionEnumeratedType (value v); + + schemaVersionEnumeratedType (const char* v); + + schemaVersionEnumeratedType (const ::std::string& v); + + schemaVersionEnumeratedType (const ::xml_schema::token& v); + + schemaVersionEnumeratedType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionEnumeratedType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionEnumeratedType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionEnumeratedType (const schemaVersionEnumeratedType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual schemaVersionEnumeratedType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + schemaVersionEnumeratedType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_schemaVersionEnumeratedType_convert (); + } + + protected: + value + _xsd_schemaVersionEnumeratedType_convert () const; + + public: + static const char* const _xsd_schemaVersionEnumeratedType_literals_[2]; + static const value _xsd_schemaVersionEnumeratedType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const schemaVersionEnumeratedType&); + + void + operator<< (::xercesc::DOMAttr&, const schemaVersionEnumeratedType&); + + void + operator<< (::xml_schema::list_stream&, + const schemaVersionEnumeratedType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SCHEMA_VERSION_ENUMERATED_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/schemaVersionType.cxx b/oadrsd/oadrsd/2b/schemaVersionType.cxx new file mode 100644 index 0000000..b290e76 --- /dev/null +++ b/oadrsd/oadrsd/2b/schemaVersionType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "schemaVersionType.hxx" + +namespace oadr2b +{ + namespace ei + { + // schemaVersionType + // + + schemaVersionType:: + schemaVersionType (const char* s) + : ::xml_schema::string (s) + { + } + + schemaVersionType:: + schemaVersionType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + schemaVersionType:: + schemaVersionType (const schemaVersionType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // schemaVersionType + // + + schemaVersionType:: + schemaVersionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + schemaVersionType:: + schemaVersionType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + schemaVersionType:: + schemaVersionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + schemaVersionType* schemaVersionType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class schemaVersionType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, schemaVersionType > + _xsd_schemaVersionType_type_factory_init ( + "schemaVersionType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const schemaVersionType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const schemaVersionType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const schemaVersionType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, schemaVersionType > + _xsd_schemaVersionType_type_serializer_init ( + "schemaVersionType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/schemaVersionType.hxx b/oadrsd/oadrsd/2b/schemaVersionType.hxx new file mode 100644 index 0000000..a9b354c --- /dev/null +++ b/oadrsd/oadrsd/2b/schemaVersionType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SCHEMA_VERSION_TYPE_HXX +#define SCHEMA_VERSION_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class schemaVersionType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class schemaVersionType: public ::xml_schema::string + { + public: + + schemaVersionType (const char* v); + + schemaVersionType (const ::std::string& v); + + schemaVersionType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + schemaVersionType (const schemaVersionType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual schemaVersionType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const schemaVersionType&); + + void + operator<< (::xercesc::DOMAttr&, const schemaVersionType&); + + void + operator<< (::xml_schema::list_stream&, + const schemaVersionType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SCHEMA_VERSION_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/signalNameType.cxx b/oadrsd/oadrsd/2b/signalNameType.cxx new file mode 100644 index 0000000..b7f2365 --- /dev/null +++ b/oadrsd/oadrsd/2b/signalNameType.cxx @@ -0,0 +1,191 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "signalNameType.hxx" + +namespace oadr2b +{ + namespace ei + { + // signalNameType + // + + signalNameType:: + signalNameType (const char* s) + : ::xml_schema::string (s) + { + } + + signalNameType:: + signalNameType (const ::std::string& s) + : ::xml_schema::string (s) + { + } + + signalNameType:: + signalNameType (const signalNameType& o, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (o, f, c) + { + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // signalNameType + // + + signalNameType:: + signalNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (e, f, c) + { + } + + signalNameType:: + signalNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (a, f, c) + { + } + + signalNameType:: + signalNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::string (s, e, f, c) + { + } + + signalNameType* signalNameType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class signalNameType (*this, f, c); + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, signalNameType > + _xsd_signalNameType_type_factory_init ( + "signalNameType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const signalNameType& i) + { + e << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const signalNameType& i) + { + a << static_cast< const ::xml_schema::string& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const signalNameType& i) + { + l << static_cast< const ::xml_schema::string& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, signalNameType > + _xsd_signalNameType_type_serializer_init ( + "signalNameType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/signalNameType.hxx b/oadrsd/oadrsd/2b/signalNameType.hxx new file mode 100644 index 0000000..92dbe50 --- /dev/null +++ b/oadrsd/oadrsd/2b/signalNameType.hxx @@ -0,0 +1,354 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNAL_NAME_TYPE_HXX +#define SIGNAL_NAME_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class signalNameType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + class signalNameType: public ::xml_schema::string + { + public: + + signalNameType (const char* v); + + signalNameType (const ::std::string& v); + + signalNameType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + signalNameType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + signalNameType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + signalNameType (const signalNameType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual signalNameType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const signalNameType&); + + void + operator<< (::xercesc::DOMAttr&, const signalNameType&); + + void + operator<< (::xml_schema::list_stream&, + const signalNameType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNAL_NAME_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/signalPayloadType.cxx b/oadrsd/oadrsd/2b/signalPayloadType.cxx new file mode 100644 index 0000000..c8cfb0b --- /dev/null +++ b/oadrsd/oadrsd/2b/signalPayloadType.cxx @@ -0,0 +1,286 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "signalPayloadType.hxx" + +#include "PayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + // signalPayloadType + // + + const signalPayloadType::payloadBase_type& signalPayloadType:: + payloadBase () const + { + return this->payloadBase_.get (); + } + + signalPayloadType::payloadBase_type& signalPayloadType:: + payloadBase () + { + return this->payloadBase_.get (); + } + + void signalPayloadType:: + payloadBase (const payloadBase_type& x) + { + this->payloadBase_.set (x); + } + + void signalPayloadType:: + payloadBase (::std::auto_ptr< payloadBase_type > x) + { + this->payloadBase_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + // signalPayloadType + // + + signalPayloadType:: + signalPayloadType (const payloadBase_type& payloadBase) + : ::stream::StreamPayloadBaseType (), + payloadBase_ (payloadBase, this) + { + } + + signalPayloadType:: + signalPayloadType (::std::auto_ptr< payloadBase_type > payloadBase) + : ::stream::StreamPayloadBaseType (), + payloadBase_ (payloadBase, this) + { + } + + signalPayloadType:: + signalPayloadType (const signalPayloadType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (x, f, c), + payloadBase_ (x.payloadBase_, f, this) + { + } + + signalPayloadType:: + signalPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::stream::StreamPayloadBaseType (e, f | ::xml_schema::flags::base, c), + payloadBase_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void signalPayloadType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // payloadBase + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + &::xsd::cxx::tree::factory_impl< payloadBase_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!payloadBase_.present ()) + { + ::std::auto_ptr< payloadBase_type > r ( + dynamic_cast< payloadBase_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->payloadBase_.set (r); + continue; + } + } + } + + break; + } + + if (!payloadBase_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } + } + + signalPayloadType* signalPayloadType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class signalPayloadType (*this, f, c); + } + + signalPayloadType& signalPayloadType:: + operator= (const signalPayloadType& x) + { + if (this != &x) + { + static_cast< ::stream::StreamPayloadBaseType& > (*this) = x; + this->payloadBase_ = x.payloadBase_; + } + + return *this; + } + + signalPayloadType:: + ~signalPayloadType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, signalPayloadType > + _xsd_signalPayloadType_type_factory_init ( + "signalPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement& e, const signalPayloadType& i) + { + e << static_cast< const ::stream::StreamPayloadBaseType& > (i); + + // payloadBase + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const signalPayloadType::payloadBase_type& x (i.payloadBase ()); + if (typeid (signalPayloadType::payloadBase_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + e)); + + s << x; + } + else + tsm.serialize ( + "payloadBase", + "http://docs.oasis-open.org/ns/energyinterop/201110", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, signalPayloadType > + _xsd_signalPayloadType_type_serializer_init ( + "signalPayloadType", + "http://docs.oasis-open.org/ns/energyinterop/201110"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/signalPayloadType.hxx b/oadrsd/oadrsd/2b/signalPayloadType.hxx new file mode 100644 index 0000000..d83e2a3 --- /dev/null +++ b/oadrsd/oadrsd/2b/signalPayloadType.hxx @@ -0,0 +1,382 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SIGNAL_PAYLOAD_TYPE_HXX +#define SIGNAL_PAYLOAD_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace ei + { + class signalPayloadType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "StreamPayloadBaseType.hxx" + +namespace oadr2b +{ + namespace ei + { + class PayloadBaseType; + } +} + +namespace oadr2b +{ + namespace ei + { + class signalPayloadType: public ::stream::StreamPayloadBaseType + { + public: + // payloadBase + // + typedef ::oadr2b::ei::PayloadBaseType payloadBase_type; + typedef ::xsd::cxx::tree::traits< payloadBase_type, char > payloadBase_traits; + + const payloadBase_type& + payloadBase () const; + + payloadBase_type& + payloadBase (); + + void + payloadBase (const payloadBase_type& x); + + void + payloadBase (::std::auto_ptr< payloadBase_type > p); + + // Constructors. + // + signalPayloadType (const payloadBase_type&); + + signalPayloadType (::std::auto_ptr< payloadBase_type >); + + signalPayloadType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + signalPayloadType (const signalPayloadType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual signalPayloadType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + signalPayloadType& + operator= (const signalPayloadType& x); + + virtual + ~signalPayloadType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< payloadBase_type > payloadBase_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace ei + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace ei + { + void + operator<< (::xercesc::DOMElement&, const signalPayloadType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SIGNAL_PAYLOAD_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/sourceType.cxx b/oadrsd/oadrsd/2b/sourceType.cxx new file mode 100644 index 0000000..edf52c5 --- /dev/null +++ b/oadrsd/oadrsd/2b/sourceType.cxx @@ -0,0 +1,1209 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "sourceType.hxx" + +#include "personType.hxx" + +#include "categoryType.hxx" + +#include "generatorType.hxx" + +#include "iconType.hxx" + +#include "idType.hxx" + +#include "linkType.hxx" + +#include "logoType.hxx" + +#include "textType.hxx" + +#include "dateTimeType1.hxx" + +namespace Atom +{ + // sourceType + // + + const sourceType::author_sequence& sourceType:: + author () const + { + return this->author_; + } + + sourceType::author_sequence& sourceType:: + author () + { + return this->author_; + } + + void sourceType:: + author (const author_sequence& s) + { + this->author_ = s; + } + + const sourceType::category_sequence& sourceType:: + category () const + { + return this->category_; + } + + sourceType::category_sequence& sourceType:: + category () + { + return this->category_; + } + + void sourceType:: + category (const category_sequence& s) + { + this->category_ = s; + } + + const sourceType::contributor_sequence& sourceType:: + contributor () const + { + return this->contributor_; + } + + sourceType::contributor_sequence& sourceType:: + contributor () + { + return this->contributor_; + } + + void sourceType:: + contributor (const contributor_sequence& s) + { + this->contributor_ = s; + } + + const sourceType::generator_sequence& sourceType:: + generator () const + { + return this->generator_; + } + + sourceType::generator_sequence& sourceType:: + generator () + { + return this->generator_; + } + + void sourceType:: + generator (const generator_sequence& s) + { + this->generator_ = s; + } + + const sourceType::icon_sequence& sourceType:: + icon () const + { + return this->icon_; + } + + sourceType::icon_sequence& sourceType:: + icon () + { + return this->icon_; + } + + void sourceType:: + icon (const icon_sequence& s) + { + this->icon_ = s; + } + + const sourceType::id_sequence& sourceType:: + id () const + { + return this->id_; + } + + sourceType::id_sequence& sourceType:: + id () + { + return this->id_; + } + + void sourceType:: + id (const id_sequence& s) + { + this->id_ = s; + } + + const sourceType::link_sequence& sourceType:: + link () const + { + return this->link_; + } + + sourceType::link_sequence& sourceType:: + link () + { + return this->link_; + } + + void sourceType:: + link (const link_sequence& s) + { + this->link_ = s; + } + + const sourceType::logo_sequence& sourceType:: + logo () const + { + return this->logo_; + } + + sourceType::logo_sequence& sourceType:: + logo () + { + return this->logo_; + } + + void sourceType:: + logo (const logo_sequence& s) + { + this->logo_ = s; + } + + const sourceType::rights_sequence& sourceType:: + rights () const + { + return this->rights_; + } + + sourceType::rights_sequence& sourceType:: + rights () + { + return this->rights_; + } + + void sourceType:: + rights (const rights_sequence& s) + { + this->rights_ = s; + } + + const sourceType::subtitle_sequence& sourceType:: + subtitle () const + { + return this->subtitle_; + } + + sourceType::subtitle_sequence& sourceType:: + subtitle () + { + return this->subtitle_; + } + + void sourceType:: + subtitle (const subtitle_sequence& s) + { + this->subtitle_ = s; + } + + const sourceType::title_sequence& sourceType:: + title () const + { + return this->title_; + } + + sourceType::title_sequence& sourceType:: + title () + { + return this->title_; + } + + void sourceType:: + title (const title_sequence& s) + { + this->title_ = s; + } + + const sourceType::updated_sequence& sourceType:: + updated () const + { + return this->updated_; + } + + sourceType::updated_sequence& sourceType:: + updated () + { + return this->updated_; + } + + void sourceType:: + updated (const updated_sequence& s) + { + this->updated_ = s; + } + + const sourceType::base_optional& sourceType:: + base () const + { + return this->base_; + } + + sourceType::base_optional& sourceType:: + base () + { + return this->base_; + } + + void sourceType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void sourceType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void sourceType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const sourceType::lang_optional& sourceType:: + lang () const + { + return this->lang_; + } + + sourceType::lang_optional& sourceType:: + lang () + { + return this->lang_; + } + + void sourceType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void sourceType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void sourceType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // sourceType + // + + sourceType:: + sourceType () + : ::xml_schema::type (), + author_ (this), + category_ (this), + contributor_ (this), + generator_ (this), + icon_ (this), + id_ (this), + link_ (this), + logo_ (this), + rights_ (this), + subtitle_ (this), + title_ (this), + updated_ (this), + base_ (this), + lang_ (this) + { + } + + sourceType:: + sourceType (const sourceType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + author_ (x.author_, f, this), + category_ (x.category_, f, this), + contributor_ (x.contributor_, f, this), + generator_ (x.generator_, f, this), + icon_ (x.icon_, f, this), + id_ (x.id_, f, this), + link_ (x.link_, f, this), + logo_ (x.logo_, f, this), + rights_ (x.rights_, f, this), + subtitle_ (x.subtitle_, f, this), + title_ (x.title_, f, this), + updated_ (x.updated_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + sourceType:: + sourceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + author_ (this), + category_ (this), + contributor_ (this), + generator_ (this), + icon_ (this), + id_ (this), + link_ (this), + logo_ (this), + rights_ (this), + subtitle_ (this), + title_ (this), + updated_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void sourceType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // author + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "author", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< author_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< author_type > r ( + dynamic_cast< author_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->author_.push_back (r); + continue; + } + } + + // category + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "category", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< category_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< category_type > r ( + dynamic_cast< category_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->category_.push_back (r); + continue; + } + } + + // contributor + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "contributor", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< contributor_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< contributor_type > r ( + dynamic_cast< contributor_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->contributor_.push_back (r); + continue; + } + } + + // generator + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "generator", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< generator_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< generator_type > r ( + dynamic_cast< generator_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->generator_.push_back (r); + continue; + } + } + + // icon + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "icon", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< icon_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< icon_type > r ( + dynamic_cast< icon_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->icon_.push_back (r); + continue; + } + } + + // id + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "id", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< id_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< id_type > r ( + dynamic_cast< id_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->id_.push_back (r); + continue; + } + } + + // link + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "link", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< link_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< link_type > r ( + dynamic_cast< link_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->link_.push_back (r); + continue; + } + } + + // logo + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "logo", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< logo_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< logo_type > r ( + dynamic_cast< logo_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->logo_.push_back (r); + continue; + } + } + + // rights + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "rights", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< rights_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< rights_type > r ( + dynamic_cast< rights_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->rights_.push_back (r); + continue; + } + } + + // subtitle + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "subtitle", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< subtitle_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< subtitle_type > r ( + dynamic_cast< subtitle_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->subtitle_.push_back (r); + continue; + } + } + + // title + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "title", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< title_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< title_type > r ( + dynamic_cast< title_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->title_.push_back (r); + continue; + } + } + + // updated + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "updated", + "http://www.w3.org/2005/Atom", + &::xsd::cxx::tree::factory_impl< updated_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + ::std::auto_ptr< updated_type > r ( + dynamic_cast< updated_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->updated_.push_back (r); + continue; + } + } + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + sourceType* sourceType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class sourceType (*this, f, c); + } + + sourceType& sourceType:: + operator= (const sourceType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->author_ = x.author_; + this->category_ = x.category_; + this->contributor_ = x.contributor_; + this->generator_ = x.generator_; + this->icon_ = x.icon_; + this->id_ = x.id_; + this->link_ = x.link_; + this->logo_ = x.logo_; + this->rights_ = x.rights_; + this->subtitle_ = x.subtitle_; + this->title_ = x.title_; + this->updated_ = x.updated_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + sourceType:: + ~sourceType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, sourceType > + _xsd_sourceType_type_factory_init ( + "sourceType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const sourceType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // author + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::author_const_iterator + b (i.author ().begin ()), n (i.author ().end ()); + b != n; ++b) + { + if (typeid (sourceType::author_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "author", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "author", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // category + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::category_const_iterator + b (i.category ().begin ()), n (i.category ().end ()); + b != n; ++b) + { + if (typeid (sourceType::category_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "category", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "category", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // contributor + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::contributor_const_iterator + b (i.contributor ().begin ()), n (i.contributor ().end ()); + b != n; ++b) + { + if (typeid (sourceType::contributor_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "contributor", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "contributor", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // generator + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::generator_const_iterator + b (i.generator ().begin ()), n (i.generator ().end ()); + b != n; ++b) + { + if (typeid (sourceType::generator_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "generator", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "generator", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // icon + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::icon_const_iterator + b (i.icon ().begin ()), n (i.icon ().end ()); + b != n; ++b) + { + if (typeid (sourceType::icon_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "icon", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "icon", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // id + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::id_const_iterator + b (i.id ().begin ()), n (i.id ().end ()); + b != n; ++b) + { + if (typeid (sourceType::id_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "id", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "id", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // link + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::link_const_iterator + b (i.link ().begin ()), n (i.link ().end ()); + b != n; ++b) + { + if (typeid (sourceType::link_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "link", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "link", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // logo + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::logo_const_iterator + b (i.logo ().begin ()), n (i.logo ().end ()); + b != n; ++b) + { + if (typeid (sourceType::logo_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "logo", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "logo", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // rights + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::rights_const_iterator + b (i.rights ().begin ()), n (i.rights ().end ()); + b != n; ++b) + { + if (typeid (sourceType::rights_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "rights", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "rights", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // subtitle + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::subtitle_const_iterator + b (i.subtitle ().begin ()), n (i.subtitle ().end ()); + b != n; ++b) + { + if (typeid (sourceType::subtitle_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "subtitle", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "subtitle", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // title + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::title_const_iterator + b (i.title ().begin ()), n (i.title ().end ()); + b != n; ++b) + { + if (typeid (sourceType::title_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "title", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "title", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // updated + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + for (sourceType::updated_const_iterator + b (i.updated ().begin ()), n (i.updated ().end ()); + b != n; ++b) + { + if (typeid (sourceType::updated_type) == typeid (*b)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "updated", + "http://www.w3.org/2005/Atom", + e)); + + s << *b; + } + else + tsm.serialize ( + "updated", + "http://www.w3.org/2005/Atom", + false, true, e, *b); + } + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, sourceType > + _xsd_sourceType_type_serializer_init ( + "sourceType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/sourceType.hxx b/oadrsd/oadrsd/2b/sourceType.hxx new file mode 100644 index 0000000..d08d0fb --- /dev/null +++ b/oadrsd/oadrsd/2b/sourceType.hxx @@ -0,0 +1,645 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SOURCE_TYPE_HXX +#define SOURCE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class sourceType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class personType; +} + +namespace Atom +{ + class categoryType; +} + +namespace Atom +{ + class generatorType; +} + +namespace Atom +{ + class iconType; +} + +namespace Atom +{ + class idType; +} + +namespace Atom +{ + class linkType; +} + +namespace Atom +{ + class logoType; +} + +namespace Atom +{ + class textType; +} + +namespace Atom +{ + class dateTimeType; +} + +namespace Atom +{ + class sourceType: public ::xml_schema::type + { + public: + // author + // + typedef ::Atom::personType author_type; + typedef ::xsd::cxx::tree::sequence< author_type > author_sequence; + typedef author_sequence::iterator author_iterator; + typedef author_sequence::const_iterator author_const_iterator; + typedef ::xsd::cxx::tree::traits< author_type, char > author_traits; + + const author_sequence& + author () const; + + author_sequence& + author (); + + void + author (const author_sequence& s); + + // category + // + typedef ::Atom::categoryType category_type; + typedef ::xsd::cxx::tree::sequence< category_type > category_sequence; + typedef category_sequence::iterator category_iterator; + typedef category_sequence::const_iterator category_const_iterator; + typedef ::xsd::cxx::tree::traits< category_type, char > category_traits; + + const category_sequence& + category () const; + + category_sequence& + category (); + + void + category (const category_sequence& s); + + // contributor + // + typedef ::Atom::personType contributor_type; + typedef ::xsd::cxx::tree::sequence< contributor_type > contributor_sequence; + typedef contributor_sequence::iterator contributor_iterator; + typedef contributor_sequence::const_iterator contributor_const_iterator; + typedef ::xsd::cxx::tree::traits< contributor_type, char > contributor_traits; + + const contributor_sequence& + contributor () const; + + contributor_sequence& + contributor (); + + void + contributor (const contributor_sequence& s); + + // generator + // + typedef ::Atom::generatorType generator_type; + typedef ::xsd::cxx::tree::sequence< generator_type > generator_sequence; + typedef generator_sequence::iterator generator_iterator; + typedef generator_sequence::const_iterator generator_const_iterator; + typedef ::xsd::cxx::tree::traits< generator_type, char > generator_traits; + + const generator_sequence& + generator () const; + + generator_sequence& + generator (); + + void + generator (const generator_sequence& s); + + // icon + // + typedef ::Atom::iconType icon_type; + typedef ::xsd::cxx::tree::sequence< icon_type > icon_sequence; + typedef icon_sequence::iterator icon_iterator; + typedef icon_sequence::const_iterator icon_const_iterator; + typedef ::xsd::cxx::tree::traits< icon_type, char > icon_traits; + + const icon_sequence& + icon () const; + + icon_sequence& + icon (); + + void + icon (const icon_sequence& s); + + // id + // + typedef ::Atom::idType id_type; + typedef ::xsd::cxx::tree::sequence< id_type > id_sequence; + typedef id_sequence::iterator id_iterator; + typedef id_sequence::const_iterator id_const_iterator; + typedef ::xsd::cxx::tree::traits< id_type, char > id_traits; + + const id_sequence& + id () const; + + id_sequence& + id (); + + void + id (const id_sequence& s); + + // link + // + typedef ::Atom::linkType link_type; + typedef ::xsd::cxx::tree::sequence< link_type > link_sequence; + typedef link_sequence::iterator link_iterator; + typedef link_sequence::const_iterator link_const_iterator; + typedef ::xsd::cxx::tree::traits< link_type, char > link_traits; + + const link_sequence& + link () const; + + link_sequence& + link (); + + void + link (const link_sequence& s); + + // logo + // + typedef ::Atom::logoType logo_type; + typedef ::xsd::cxx::tree::sequence< logo_type > logo_sequence; + typedef logo_sequence::iterator logo_iterator; + typedef logo_sequence::const_iterator logo_const_iterator; + typedef ::xsd::cxx::tree::traits< logo_type, char > logo_traits; + + const logo_sequence& + logo () const; + + logo_sequence& + logo (); + + void + logo (const logo_sequence& s); + + // rights + // + typedef ::Atom::textType rights_type; + typedef ::xsd::cxx::tree::sequence< rights_type > rights_sequence; + typedef rights_sequence::iterator rights_iterator; + typedef rights_sequence::const_iterator rights_const_iterator; + typedef ::xsd::cxx::tree::traits< rights_type, char > rights_traits; + + const rights_sequence& + rights () const; + + rights_sequence& + rights (); + + void + rights (const rights_sequence& s); + + // subtitle + // + typedef ::Atom::textType subtitle_type; + typedef ::xsd::cxx::tree::sequence< subtitle_type > subtitle_sequence; + typedef subtitle_sequence::iterator subtitle_iterator; + typedef subtitle_sequence::const_iterator subtitle_const_iterator; + typedef ::xsd::cxx::tree::traits< subtitle_type, char > subtitle_traits; + + const subtitle_sequence& + subtitle () const; + + subtitle_sequence& + subtitle (); + + void + subtitle (const subtitle_sequence& s); + + // title + // + typedef ::Atom::textType title_type; + typedef ::xsd::cxx::tree::sequence< title_type > title_sequence; + typedef title_sequence::iterator title_iterator; + typedef title_sequence::const_iterator title_const_iterator; + typedef ::xsd::cxx::tree::traits< title_type, char > title_traits; + + const title_sequence& + title () const; + + title_sequence& + title (); + + void + title (const title_sequence& s); + + // updated + // + typedef ::Atom::dateTimeType updated_type; + typedef ::xsd::cxx::tree::sequence< updated_type > updated_sequence; + typedef updated_sequence::iterator updated_iterator; + typedef updated_sequence::const_iterator updated_const_iterator; + typedef ::xsd::cxx::tree::traits< updated_type, char > updated_traits; + + const updated_sequence& + updated () const; + + updated_sequence& + updated (); + + void + updated (const updated_sequence& s); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + sourceType (); + + sourceType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + sourceType (const sourceType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual sourceType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + sourceType& + operator= (const sourceType& x); + + virtual + ~sourceType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + author_sequence author_; + category_sequence category_; + contributor_sequence contributor_; + generator_sequence generator_; + icon_sequence icon_; + id_sequence id_; + link_sequence link_; + logo_sequence logo_; + rights_sequence rights_; + subtitle_sequence subtitle_; + title_sequence title_; + updated_sequence updated_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const sourceType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SOURCE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/space.cxx b/oadrsd/oadrsd/2b/space.cxx new file mode 100644 index 0000000..7d3f5bd --- /dev/null +++ b/oadrsd/oadrsd/2b/space.cxx @@ -0,0 +1,223 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "space.hxx" + +namespace namespace_ +{ + // space + // + + space:: + space (value v) + : ::xml_schema::ncname (_xsd_space_literals_[v]) + { + } + + space:: + space (const char* v) + : ::xml_schema::ncname (v) + { + } + + space:: + space (const ::std::string& v) + : ::xml_schema::ncname (v) + { + } + + space:: + space (const ::xml_schema::ncname& v) + : ::xml_schema::ncname (v) + { + } + + space:: + space (const space& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::ncname (v, f, c) + { + } + + space& space:: + operator= (value v) + { + static_cast< ::xml_schema::ncname& > (*this) = + ::xml_schema::ncname (_xsd_space_literals_[v]); + + return *this; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace namespace_ +{ + // space + // + + space:: + space (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::ncname (e, f, c) + { + _xsd_space_convert (); + } + + space:: + space (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::ncname (a, f, c) + { + _xsd_space_convert (); + } + + space:: + space (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::ncname (s, e, f, c) + { + _xsd_space_convert (); + } + + space* space:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class space (*this, f, c); + } + + space::value space:: + _xsd_space_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_space_literals_); + const value* i (::std::lower_bound ( + _xsd_space_indexes_, + _xsd_space_indexes_ + 2, + *this, + c)); + + if (i == _xsd_space_indexes_ + 2 || _xsd_space_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const space:: + _xsd_space_literals_[2] = + { + "default", + "preserve" + }; + + const space::value space:: + _xsd_space_indexes_[2] = + { + ::namespace_::space::default_, + ::namespace_::space::preserve + }; +} + +#include +#include +#include + +namespace namespace_ +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace namespace_ +{ + void + operator<< (::xercesc::DOMElement& e, const space& i) + { + e << static_cast< const ::xml_schema::ncname& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const space& i) + { + a << static_cast< const ::xml_schema::ncname& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const space& i) + { + l << static_cast< const ::xml_schema::ncname& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/space.hxx b/oadrsd/oadrsd/2b/space.hxx new file mode 100644 index 0000000..2768e1d --- /dev/null +++ b/oadrsd/oadrsd/2b/space.hxx @@ -0,0 +1,368 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef SPACE_HXX +#define SPACE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace namespace_ +{ + class space; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace namespace_ +{ + class space: public ::xml_schema::ncname + { + public: + enum value + { + default_, + preserve + }; + + space (value v); + + space (const char* v); + + space (const ::std::string& v); + + space (const ::xml_schema::ncname& v); + + space (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + space (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + space (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + space (const space& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual space* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + space& + operator= (value v); + + virtual + operator value () const + { + return _xsd_space_convert (); + } + + protected: + value + _xsd_space_convert () const; + + public: + static const char* const _xsd_space_literals_[2]; + static const value _xsd_space_indexes_[2]; + }; +} + +#include + +#include +#include +#include + +namespace namespace_ +{ +} + +#include + +#include +#include +#include + +#include + +namespace namespace_ +{ + void + operator<< (::xercesc::DOMElement&, const space&); + + void + operator<< (::xercesc::DOMAttr&, const space&); + + void + operator<< (::xml_schema::list_stream&, + const space&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // SPACE_HXX diff --git a/oadrsd/oadrsd/2b/temperatureType.cxx b/oadrsd/oadrsd/2b/temperatureType.cxx new file mode 100644 index 0000000..cdc67ec --- /dev/null +++ b/oadrsd/oadrsd/2b/temperatureType.cxx @@ -0,0 +1,477 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "temperatureType.hxx" + +#include "temperatureUnitType.hxx" + +#include "SiScaleCodeType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // temperatureType + // + + const temperatureType::itemDescription_type& temperatureType:: + itemDescription () const + { + return this->itemDescription_.get (); + } + + temperatureType::itemDescription_type& temperatureType:: + itemDescription () + { + return this->itemDescription_.get (); + } + + void temperatureType:: + itemDescription (const itemDescription_type& x) + { + this->itemDescription_.set (x); + } + + void temperatureType:: + itemDescription (::std::auto_ptr< itemDescription_type > x) + { + this->itemDescription_.set (x); + } + + const temperatureType::itemDescription_type& temperatureType:: + itemDescription_default_value () + { + return itemDescription_default_value_; + } + + const temperatureType::itemUnits_type& temperatureType:: + itemUnits () const + { + return this->itemUnits_.get (); + } + + temperatureType::itemUnits_type& temperatureType:: + itemUnits () + { + return this->itemUnits_.get (); + } + + void temperatureType:: + itemUnits (const itemUnits_type& x) + { + this->itemUnits_.set (x); + } + + void temperatureType:: + itemUnits (::std::auto_ptr< itemUnits_type > x) + { + this->itemUnits_.set (x); + } + + const temperatureType::siScaleCode_type& temperatureType:: + siScaleCode () const + { + return this->siScaleCode_.get (); + } + + temperatureType::siScaleCode_type& temperatureType:: + siScaleCode () + { + return this->siScaleCode_.get (); + } + + void temperatureType:: + siScaleCode (const siScaleCode_type& x) + { + this->siScaleCode_.set (x); + } + + void temperatureType:: + siScaleCode (::std::auto_ptr< siScaleCode_type > x) + { + this->siScaleCode_.set (x); + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // temperatureType + // + + const temperatureType::itemDescription_type temperatureType::itemDescription_default_value_ ( + "temperature"); + + temperatureType:: + temperatureType (const itemDescription_type& itemDescription, + const itemUnits_type& itemUnits, + const siScaleCode_type& siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + temperatureType:: + temperatureType (::std::auto_ptr< itemDescription_type > itemDescription, + ::std::auto_ptr< itemUnits_type > itemUnits, + ::std::auto_ptr< siScaleCode_type > siScaleCode) + : ::oadr2b::emix::ItemBaseType (), + itemDescription_ (itemDescription, this), + itemUnits_ (itemUnits, this), + siScaleCode_ (siScaleCode, this) + { + } + + temperatureType:: + temperatureType (const temperatureType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (x, f, c), + itemDescription_ (x.itemDescription_, f, this), + itemUnits_ (x.itemUnits_, f, this), + siScaleCode_ (x.siScaleCode_, f, this) + { + } + + temperatureType:: + temperatureType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::oadr2b::emix::ItemBaseType (e, f | ::xml_schema::flags::base, c), + itemDescription_ (this), + itemUnits_ (this), + siScaleCode_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void temperatureType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // itemDescription + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemDescription_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemDescription_.present ()) + { + ::std::auto_ptr< itemDescription_type > r ( + dynamic_cast< itemDescription_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemDescription_.set (r); + continue; + } + } + } + + // itemUnits + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + &::xsd::cxx::tree::factory_impl< itemUnits_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!itemUnits_.present ()) + { + ::std::auto_ptr< itemUnits_type > r ( + dynamic_cast< itemUnits_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->itemUnits_.set (r); + continue; + } + } + } + + // siScaleCode + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + &::xsd::cxx::tree::factory_impl< siScaleCode_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!siScaleCode_.present ()) + { + ::std::auto_ptr< siScaleCode_type > r ( + dynamic_cast< siScaleCode_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->siScaleCode_.set (r); + continue; + } + } + } + + break; + } + + if (!itemDescription_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!itemUnits_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07"); + } + + if (!siScaleCode_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale"); + } + } + + temperatureType* temperatureType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class temperatureType (*this, f, c); + } + + temperatureType& temperatureType:: + operator= (const temperatureType& x) + { + if (this != &x) + { + static_cast< ::oadr2b::emix::ItemBaseType& > (*this) = x; + this->itemDescription_ = x.itemDescription_; + this->itemUnits_ = x.itemUnits_; + this->siScaleCode_ = x.siScaleCode_; + } + + return *this; + } + + temperatureType:: + ~temperatureType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, temperatureType > + _xsd_temperatureType_type_factory_init ( + "temperatureType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const temperatureType& i) + { + e << static_cast< const ::oadr2b::emix::ItemBaseType& > (i); + + // itemDescription + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const temperatureType::itemDescription_type& x (i.itemDescription ()); + if (typeid (temperatureType::itemDescription_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemDescription", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // itemUnits + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const temperatureType::itemUnits_type& x (i.itemUnits ()); + if (typeid (temperatureType::itemUnits_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + e)); + + s << x; + } + else + tsm.serialize ( + "itemUnits", + "http://openadr.org/oadr-2.0b/2012/07", + false, true, e, x); + } + + // siScaleCode + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const temperatureType::siScaleCode_type& x (i.siScaleCode ()); + if (typeid (temperatureType::siScaleCode_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + e)); + + s << x; + } + else + tsm.serialize ( + "siScaleCode", + "http://docs.oasis-open.org/ns/emix/2011/06/siscale", + true, true, e, x); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, temperatureType > + _xsd_temperatureType_type_serializer_init ( + "temperatureType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/temperatureType.hxx b/oadrsd/oadrsd/2b/temperatureType.hxx new file mode 100644 index 0000000..6eee4ff --- /dev/null +++ b/oadrsd/oadrsd/2b/temperatureType.hxx @@ -0,0 +1,431 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TEMPERATURE_TYPE_HXX +#define TEMPERATURE_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class temperatureType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +#include "ItemBaseType.hxx" + +namespace oadr2b +{ + namespace oadr + { + class temperatureUnitType; + } +} + +namespace siscale +{ + class SiScaleCodeType; +} + +namespace oadr2b +{ + namespace oadr + { + class temperatureType: public ::oadr2b::emix::ItemBaseType + { + public: + // itemDescription + // + typedef ::xml_schema::string itemDescription_type; + typedef ::xsd::cxx::tree::traits< itemDescription_type, char > itemDescription_traits; + + const itemDescription_type& + itemDescription () const; + + itemDescription_type& + itemDescription (); + + void + itemDescription (const itemDescription_type& x); + + void + itemDescription (::std::auto_ptr< itemDescription_type > p); + + static const itemDescription_type& + itemDescription_default_value (); + + // itemUnits + // + typedef ::oadr2b::oadr::temperatureUnitType itemUnits_type; + typedef ::xsd::cxx::tree::traits< itemUnits_type, char > itemUnits_traits; + + const itemUnits_type& + itemUnits () const; + + itemUnits_type& + itemUnits (); + + void + itemUnits (const itemUnits_type& x); + + void + itemUnits (::std::auto_ptr< itemUnits_type > p); + + // siScaleCode + // + typedef ::siscale::SiScaleCodeType siScaleCode_type; + typedef ::xsd::cxx::tree::traits< siScaleCode_type, char > siScaleCode_traits; + + const siScaleCode_type& + siScaleCode () const; + + siScaleCode_type& + siScaleCode (); + + void + siScaleCode (const siScaleCode_type& x); + + void + siScaleCode (::std::auto_ptr< siScaleCode_type > p); + + // Constructors. + // + temperatureType (const itemDescription_type&, + const itemUnits_type&, + const siScaleCode_type&); + + temperatureType (::std::auto_ptr< itemDescription_type >, + ::std::auto_ptr< itemUnits_type >, + ::std::auto_ptr< siScaleCode_type >); + + temperatureType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + temperatureType (const temperatureType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual temperatureType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + temperatureType& + operator= (const temperatureType& x); + + virtual + ~temperatureType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< itemDescription_type > itemDescription_; + static const itemDescription_type itemDescription_default_value_; + ::xsd::cxx::tree::one< itemUnits_type > itemUnits_; + ::xsd::cxx::tree::one< siScaleCode_type > siScaleCode_; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const temperatureType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TEMPERATURE_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/temperatureUnitType.cxx b/oadrsd/oadrsd/2b/temperatureUnitType.cxx new file mode 100644 index 0000000..35e2d36 --- /dev/null +++ b/oadrsd/oadrsd/2b/temperatureUnitType.cxx @@ -0,0 +1,247 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "temperatureUnitType.hxx" + +namespace oadr2b +{ + namespace oadr + { + // temperatureUnitType + // + + temperatureUnitType:: + temperatureUnitType (value v) + : ::xml_schema::token (_xsd_temperatureUnitType_literals_[v]) + { + } + + temperatureUnitType:: + temperatureUnitType (const char* v) + : ::xml_schema::token (v) + { + } + + temperatureUnitType:: + temperatureUnitType (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + temperatureUnitType:: + temperatureUnitType (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + temperatureUnitType:: + temperatureUnitType (const temperatureUnitType& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + temperatureUnitType& temperatureUnitType:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_temperatureUnitType_literals_[v]); + + return *this; + } + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + // temperatureUnitType + // + + temperatureUnitType:: + temperatureUnitType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_temperatureUnitType_convert (); + } + + temperatureUnitType:: + temperatureUnitType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_temperatureUnitType_convert (); + } + + temperatureUnitType:: + temperatureUnitType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_temperatureUnitType_convert (); + } + + temperatureUnitType* temperatureUnitType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class temperatureUnitType (*this, f, c); + } + + temperatureUnitType::value temperatureUnitType:: + _xsd_temperatureUnitType_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_temperatureUnitType_literals_); + const value* i (::std::lower_bound ( + _xsd_temperatureUnitType_indexes_, + _xsd_temperatureUnitType_indexes_ + 2, + *this, + c)); + + if (i == _xsd_temperatureUnitType_indexes_ + 2 || _xsd_temperatureUnitType_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const temperatureUnitType:: + _xsd_temperatureUnitType_literals_[2] = + { + "celsius", + "fahrenheit" + }; + + const temperatureUnitType::value temperatureUnitType:: + _xsd_temperatureUnitType_indexes_[2] = + { + ::oadr2b::oadr::temperatureUnitType::celsius, + ::oadr2b::oadr::temperatureUnitType::fahrenheit + }; + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, temperatureUnitType > + _xsd_temperatureUnitType_type_factory_init ( + "temperatureUnitType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement& e, const temperatureUnitType& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const temperatureUnitType& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const temperatureUnitType& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, temperatureUnitType > + _xsd_temperatureUnitType_type_serializer_init ( + "temperatureUnitType", + "http://openadr.org/oadr-2.0b/2012/07"); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/temperatureUnitType.hxx b/oadrsd/oadrsd/2b/temperatureUnitType.hxx new file mode 100644 index 0000000..a98c7b7 --- /dev/null +++ b/oadrsd/oadrsd/2b/temperatureUnitType.hxx @@ -0,0 +1,380 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TEMPERATURE_UNIT_TYPE_HXX +#define TEMPERATURE_UNIT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace oadr2b +{ + namespace oadr + { + class temperatureUnitType; + } +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + class temperatureUnitType: public ::xml_schema::token + { + public: + enum value + { + celsius, + fahrenheit + }; + + temperatureUnitType (value v); + + temperatureUnitType (const char* v); + + temperatureUnitType (const ::std::string& v); + + temperatureUnitType (const ::xml_schema::token& v); + + temperatureUnitType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + temperatureUnitType (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + temperatureUnitType (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + temperatureUnitType (const temperatureUnitType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual temperatureUnitType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + temperatureUnitType& + operator= (value v); + + virtual + operator value () const + { + return _xsd_temperatureUnitType_convert (); + } + + protected: + value + _xsd_temperatureUnitType_convert () const; + + public: + static const char* const _xsd_temperatureUnitType_literals_[2]; + static const value _xsd_temperatureUnitType_indexes_[2]; + }; + } +} + +#include + +#include +#include +#include + +namespace oadr2b +{ + namespace oadr + { + } +} + +#include + +#include +#include +#include + +#include + +namespace oadr2b +{ + namespace oadr + { + void + operator<< (::xercesc::DOMElement&, const temperatureUnitType&); + + void + operator<< (::xercesc::DOMAttr&, const temperatureUnitType&); + + void + operator<< (::xml_schema::list_stream&, + const temperatureUnitType&); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TEMPERATURE_UNIT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/textType.cxx b/oadrsd/oadrsd/2b/textType.cxx new file mode 100644 index 0000000..5ac5fc5 --- /dev/null +++ b/oadrsd/oadrsd/2b/textType.cxx @@ -0,0 +1,345 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "textType.hxx" + +#include "type.hxx" + +namespace Atom +{ + // textType + // + + const textType::type_optional& textType:: + type () const + { + return this->type_; + } + + textType::type_optional& textType:: + type () + { + return this->type_; + } + + void textType:: + type (const type_type& x) + { + this->type_.set (x); + } + + void textType:: + type (const type_optional& x) + { + this->type_ = x; + } + + void textType:: + type (::std::auto_ptr< type_type > x) + { + this->type_.set (x); + } + + const textType::base_optional& textType:: + base () const + { + return this->base_; + } + + textType::base_optional& textType:: + base () + { + return this->base_; + } + + void textType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void textType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void textType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const textType::lang_optional& textType:: + lang () const + { + return this->lang_; + } + + textType::lang_optional& textType:: + lang () + { + return this->lang_; + } + + void textType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void textType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void textType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // textType + // + + textType:: + textType () + : ::xml_schema::type (), + type_ (this), + base_ (this), + lang_ (this) + { + } + + textType:: + textType (const textType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + type_ (x.type_, f, this), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + textType:: + textType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + type_ (this), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, true); + this->parse (p, f); + } + } + + void textType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + break; + } + + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "type" && n.namespace_ ().empty ()) + { + this->type_.set (type_traits::create (i, f, this)); + continue; + } + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + textType* textType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class textType (*this, f, c); + } + + textType& textType:: + operator= (const textType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->type_ = x.type_; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + textType:: + ~textType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, textType > + _xsd_textType_type_factory_init ( + "textType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const textType& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // type + // + if (i.type ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "type", + e)); + + a << *i.type (); + } + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, textType > + _xsd_textType_type_serializer_init ( + "textType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/textType.hxx b/oadrsd/oadrsd/2b/textType.hxx new file mode 100644 index 0000000..fa8bb95 --- /dev/null +++ b/oadrsd/oadrsd/2b/textType.hxx @@ -0,0 +1,411 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TEXT_TYPE_HXX +#define TEXT_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class textType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class type; +} + +namespace Atom +{ + class textType: public ::xml_schema::type + { + public: + // type + // + typedef ::Atom::type type_type; + typedef ::xsd::cxx::tree::optional< type_type > type_optional; + typedef ::xsd::cxx::tree::traits< type_type, char > type_traits; + + const type_optional& + type () const; + + type_optional& + type (); + + void + type (const type_type& x); + + void + type (const type_optional& x); + + void + type (::std::auto_ptr< type_type > p); + + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + textType (); + + textType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + textType (const textType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual textType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + textType& + operator= (const textType& x); + + virtual + ~textType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + type_optional type_; + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const textType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TEXT_TYPE_HXX diff --git a/oadrsd/oadrsd/2b/tolerance.cxx b/oadrsd/oadrsd/2b/tolerance.cxx new file mode 100644 index 0000000..7b4898a --- /dev/null +++ b/oadrsd/oadrsd/2b/tolerance.cxx @@ -0,0 +1,236 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "tolerance.hxx" + +#include "tolerate.hxx" + +namespace icalendar_2_0 +{ + // tolerance + // + + const tolerance::tolerate_type& tolerance:: + tolerate () const + { + return this->tolerate_.get (); + } + + tolerance::tolerate_type& tolerance:: + tolerate () + { + return this->tolerate_.get (); + } + + void tolerance:: + tolerate (const tolerate_type& x) + { + this->tolerate_.set (x); + } + + void tolerance:: + tolerate (::std::auto_ptr< tolerate_type > x) + { + this->tolerate_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // tolerance + // + + tolerance:: + tolerance (const tolerate_type& tolerate) + : ::xml_schema::type (), + tolerate_ (tolerate, this) + { + } + + tolerance:: + tolerance (::std::auto_ptr< tolerate_type > tolerate) + : ::xml_schema::type (), + tolerate_ (tolerate, this) + { + } + + tolerance:: + tolerance (const tolerance& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + tolerate_ (x.tolerate_, f, this) + { + } + + tolerance:: + tolerance (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + tolerate_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void tolerance:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // tolerate + // + if (n.name () == "tolerate" && n.namespace_ () == "urn:ietf:params:xml:ns:icalendar-2.0") + { + ::std::auto_ptr< tolerate_type > r ( + tolerate_traits::create (i, f, this)); + + if (!tolerate_.present ()) + { + this->tolerate_.set (r); + continue; + } + } + + break; + } + + if (!tolerate_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "tolerate", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + tolerance* tolerance:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class tolerance (*this, f, c); + } + + tolerance& tolerance:: + operator= (const tolerance& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->tolerate_ = x.tolerate_; + } + + return *this; + } + + tolerance:: + ~tolerance () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const tolerance& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // tolerate + // + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "tolerate", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << i.tolerate (); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/tolerance.hxx b/oadrsd/oadrsd/2b/tolerance.hxx new file mode 100644 index 0000000..f411470 --- /dev/null +++ b/oadrsd/oadrsd/2b/tolerance.hxx @@ -0,0 +1,365 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TOLERANCE_HXX +#define TOLERANCE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class tolerance; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class tolerate; +} + +namespace icalendar_2_0 +{ + class tolerance: public ::xml_schema::type + { + public: + // tolerate + // + typedef ::icalendar_2_0::tolerate tolerate_type; + typedef ::xsd::cxx::tree::traits< tolerate_type, char > tolerate_traits; + + const tolerate_type& + tolerate () const; + + tolerate_type& + tolerate (); + + void + tolerate (const tolerate_type& x); + + void + tolerate (::std::auto_ptr< tolerate_type > p); + + // Constructors. + // + tolerance (const tolerate_type&); + + tolerance (::std::auto_ptr< tolerate_type >); + + tolerance (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + tolerance (const tolerance& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual tolerance* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + tolerance& + operator= (const tolerance& x); + + virtual + ~tolerance (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< tolerate_type > tolerate_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const tolerance&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TOLERANCE_HXX diff --git a/oadrsd/oadrsd/2b/tolerate.cxx b/oadrsd/oadrsd/2b/tolerate.cxx new file mode 100644 index 0000000..2e27910 --- /dev/null +++ b/oadrsd/oadrsd/2b/tolerate.cxx @@ -0,0 +1,257 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "tolerate.hxx" + +#include "DurationValueType.hxx" + +namespace icalendar_2_0 +{ + // tolerate + // + + const tolerate::startafter_optional& tolerate:: + startafter () const + { + return this->startafter_; + } + + tolerate::startafter_optional& tolerate:: + startafter () + { + return this->startafter_; + } + + void tolerate:: + startafter (const startafter_type& x) + { + this->startafter_.set (x); + } + + void tolerate:: + startafter (const startafter_optional& x) + { + this->startafter_ = x; + } + + void tolerate:: + startafter (::std::auto_ptr< startafter_type > x) + { + this->startafter_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // tolerate + // + + tolerate:: + tolerate () + : ::xml_schema::type (), + startafter_ (this) + { + } + + tolerate:: + tolerate (const tolerate& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + startafter_ (x.startafter_, f, this) + { + } + + tolerate:: + tolerate (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + startafter_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void tolerate:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // startafter + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "startafter", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< startafter_type >, + false, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!this->startafter_) + { + ::std::auto_ptr< startafter_type > r ( + dynamic_cast< startafter_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->startafter_.set (r); + continue; + } + } + } + + break; + } + } + + tolerate* tolerate:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class tolerate (*this, f, c); + } + + tolerate& tolerate:: + operator= (const tolerate& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->startafter_ = x.startafter_; + } + + return *this; + } + + tolerate:: + ~tolerate () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const tolerate& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // startafter + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + if (i.startafter ()) + { + const tolerate::startafter_type& x (*i.startafter ()); + if (typeid (tolerate::startafter_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "startafter", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "startafter", + "urn:ietf:params:xml:ns:icalendar-2.0", + false, true, e, x); + } + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/tolerate.hxx b/oadrsd/oadrsd/2b/tolerate.hxx new file mode 100644 index 0000000..5cde126 --- /dev/null +++ b/oadrsd/oadrsd/2b/tolerate.hxx @@ -0,0 +1,367 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TOLERATE_HXX +#define TOLERATE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class tolerate; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class DurationValueType; +} + +namespace icalendar_2_0 +{ + class tolerate: public ::xml_schema::type + { + public: + // startafter + // + typedef ::icalendar_2_0::DurationValueType startafter_type; + typedef ::xsd::cxx::tree::optional< startafter_type > startafter_optional; + typedef ::xsd::cxx::tree::traits< startafter_type, char > startafter_traits; + + const startafter_optional& + startafter () const; + + startafter_optional& + startafter (); + + void + startafter (const startafter_type& x); + + void + startafter (const startafter_optional& x); + + void + startafter (::std::auto_ptr< startafter_type > p); + + // Constructors. + // + tolerate (); + + tolerate (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + tolerate (const tolerate& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual tolerate* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + tolerate& + operator= (const tolerate& x); + + virtual + ~tolerate (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + startafter_optional startafter_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const tolerate&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TOLERATE_HXX diff --git a/oadrsd/oadrsd/2b/type.cxx b/oadrsd/oadrsd/2b/type.cxx new file mode 100644 index 0000000..4e38b19 --- /dev/null +++ b/oadrsd/oadrsd/2b/type.cxx @@ -0,0 +1,225 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "type.hxx" + +namespace Atom +{ + // type + // + + type:: + type (value v) + : ::xml_schema::token (_xsd_type_literals_[v]) + { + } + + type:: + type (const char* v) + : ::xml_schema::token (v) + { + } + + type:: + type (const ::std::string& v) + : ::xml_schema::token (v) + { + } + + type:: + type (const ::xml_schema::token& v) + : ::xml_schema::token (v) + { + } + + type:: + type (const type& v, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (v, f, c) + { + } + + type& type:: + operator= (value v) + { + static_cast< ::xml_schema::token& > (*this) = + ::xml_schema::token (_xsd_type_literals_[v]); + + return *this; + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // type + // + + type:: + type (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (e, f, c) + { + _xsd_type_convert (); + } + + type:: + type (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (a, f, c) + { + _xsd_type_convert (); + } + + type:: + type (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::token (s, e, f, c) + { + _xsd_type_convert (); + } + + type* type:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class type (*this, f, c); + } + + type::value type:: + _xsd_type_convert () const + { + ::xsd::cxx::tree::enum_comparator< char > c (_xsd_type_literals_); + const value* i (::std::lower_bound ( + _xsd_type_indexes_, + _xsd_type_indexes_ + 3, + *this, + c)); + + if (i == _xsd_type_indexes_ + 3 || _xsd_type_literals_[*i] != *this) + { + throw ::xsd::cxx::tree::unexpected_enumerator < char > (*this); + } + + return *i; + } + + const char* const type:: + _xsd_type_literals_[3] = + { + "text", + "html", + "xhtml" + }; + + const type::value type:: + _xsd_type_indexes_[3] = + { + ::Atom::type::html, + ::Atom::type::text, + ::Atom::type::xhtml + }; +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const type& i) + { + e << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xercesc::DOMAttr& a, const type& i) + { + a << static_cast< const ::xml_schema::token& > (i); + } + + void + operator<< (::xml_schema::list_stream& l, + const type& i) + { + l << static_cast< const ::xml_schema::token& > (i); + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/type.hxx b/oadrsd/oadrsd/2b/type.hxx new file mode 100644 index 0000000..1a76479 --- /dev/null +++ b/oadrsd/oadrsd/2b/type.hxx @@ -0,0 +1,369 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef TYPE_HXX +#define TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class type; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class type: public ::xml_schema::token + { + public: + enum value + { + text, + html, + xhtml + }; + + type (value v); + + type (const char* v); + + type (const ::std::string& v); + + type (const ::xml_schema::token& v); + + type (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + type (const ::xercesc::DOMAttr& a, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + type (const ::std::string& s, + const ::xercesc::DOMElement* e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + type (const type& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual type* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + type& + operator= (value v); + + virtual + operator value () const + { + return _xsd_type_convert (); + } + + protected: + value + _xsd_type_convert () const; + + public: + static const char* const _xsd_type_literals_[3]; + static const value _xsd_type_indexes_[3]; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const type&); + + void + operator<< (::xercesc::DOMAttr&, const type&); + + void + operator<< (::xml_schema::list_stream&, + const type&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // TYPE_HXX diff --git a/oadrsd/oadrsd/2b/uid.cxx b/oadrsd/oadrsd/2b/uid.cxx new file mode 100644 index 0000000..f9d0764 --- /dev/null +++ b/oadrsd/oadrsd/2b/uid.cxx @@ -0,0 +1,260 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "uid.hxx" + +namespace icalendar_2_0 +{ + // uid + // + + const uid::text_type& uid:: + text () const + { + return this->text_.get (); + } + + uid::text_type& uid:: + text () + { + return this->text_.get (); + } + + void uid:: + text (const text_type& x) + { + this->text_.set (x); + } + + void uid:: + text (::std::auto_ptr< text_type > x) + { + this->text_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace icalendar_2_0 +{ + // uid + // + + uid:: + uid (const text_type& text) + : ::xml_schema::type (), + text_ (text, this) + { + } + + uid:: + uid (::std::auto_ptr< text_type > text) + : ::xml_schema::type (), + text_ (text, this) + { + } + + uid:: + uid (const uid& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (x, f, c), + text_ (x.text_, f, this) + { + } + + uid:: + uid (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::type (e, f | ::xml_schema::flags::base, c), + text_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, true, false); + this->parse (p, f); + } + } + + void uid:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + for (; p.more_elements (); p.next_element ()) + { + const ::xercesc::DOMElement& i (p.cur_element ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + // text + // + { + ::std::auto_ptr< ::xsd::cxx::tree::type > tmp ( + ::xsd::cxx::tree::type_factory_map_instance< 0, char > ().create ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + &::xsd::cxx::tree::factory_impl< text_type >, + true, true, i, n, f, this)); + + if (tmp.get () != 0) + { + if (!text_.present ()) + { + ::std::auto_ptr< text_type > r ( + dynamic_cast< text_type* > (tmp.get ())); + + if (r.get ()) + tmp.release (); + else + throw ::xsd::cxx::tree::not_derived< char > (); + + this->text_.set (r); + continue; + } + } + } + + break; + } + + if (!text_.present ()) + { + throw ::xsd::cxx::tree::expected_element< char > ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0"); + } + } + + uid* uid:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class uid (*this, f, c); + } + + uid& uid:: + operator= (const uid& x) + { + if (this != &x) + { + static_cast< ::xml_schema::type& > (*this) = x; + this->text_ = x.text_; + } + + return *this; + } + + uid:: + ~uid () + { + } +} + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement& e, const uid& i) + { + e << static_cast< const ::xml_schema::type& > (i); + + // text + // + { + ::xsd::cxx::tree::type_serializer_map< char >& tsm ( + ::xsd::cxx::tree::type_serializer_map_instance< 0, char > ()); + + const uid::text_type& x (i.text ()); + if (typeid (uid::text_type) == typeid (x)) + { + ::xercesc::DOMElement& s ( + ::xsd::cxx::xml::dom::create_element ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + e)); + + s << x; + } + else + tsm.serialize ( + "text", + "urn:ietf:params:xml:ns:icalendar-2.0", + true, true, e, x); + } + } +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/uid.hxx b/oadrsd/oadrsd/2b/uid.hxx new file mode 100644 index 0000000..df89156 --- /dev/null +++ b/oadrsd/oadrsd/2b/uid.hxx @@ -0,0 +1,360 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef UID_HXX +#define UID_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace icalendar_2_0 +{ + class uid; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + class uid: public ::xml_schema::type + { + public: + // text + // + typedef ::xml_schema::string text_type; + typedef ::xsd::cxx::tree::traits< text_type, char > text_traits; + + const text_type& + text () const; + + text_type& + text (); + + void + text (const text_type& x); + + void + text (::std::auto_ptr< text_type > p); + + // Constructors. + // + uid (const text_type&); + + uid (::std::auto_ptr< text_type >); + + uid (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + uid (const uid& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual uid* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + uid& + operator= (const uid& x); + + virtual + ~uid (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + ::xsd::cxx::tree::one< text_type > text_; + }; +} + +#include + +#include +#include +#include + +namespace icalendar_2_0 +{ +} + +#include + +#include +#include +#include + +#include + +namespace icalendar_2_0 +{ + void + operator<< (::xercesc::DOMElement&, const uid&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // UID_HXX diff --git a/oadrsd/oadrsd/2b/uriType.cxx b/oadrsd/oadrsd/2b/uriType.cxx new file mode 100644 index 0000000..c073ca4 --- /dev/null +++ b/oadrsd/oadrsd/2b/uriType.cxx @@ -0,0 +1,282 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#include + +// Begin prologue. +// +// +// End prologue. + +#include "uriType.hxx" + +namespace Atom +{ + // uriType + // + + const uriType::base_optional& uriType:: + base () const + { + return this->base_; + } + + uriType::base_optional& uriType:: + base () + { + return this->base_; + } + + void uriType:: + base (const base_type& x) + { + this->base_.set (x); + } + + void uriType:: + base (const base_optional& x) + { + this->base_ = x; + } + + void uriType:: + base (::std::auto_ptr< base_type > x) + { + this->base_.set (x); + } + + const uriType::lang_optional& uriType:: + lang () const + { + return this->lang_; + } + + uriType::lang_optional& uriType:: + lang () + { + return this->lang_; + } + + void uriType:: + lang (const lang_type& x) + { + this->lang_.set (x); + } + + void uriType:: + lang (const lang_optional& x) + { + this->lang_ = x; + } + + void uriType:: + lang (::std::auto_ptr< lang_type > x) + { + this->lang_.set (x); + } +} + +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_factory_plate< 0, char > + type_factory_plate_init; +} + +namespace Atom +{ + // uriType + // + + uriType:: + uriType (const ::xml_schema::uri& _xsd_uri_base) + : ::xml_schema::uri (_xsd_uri_base), + base_ (this), + lang_ (this) + { + } + + uriType:: + uriType (const uriType& x, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (x, f, c), + base_ (x.base_, f, this), + lang_ (x.lang_, f, this) + { + } + + uriType:: + uriType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f, + ::xml_schema::container* c) + : ::xml_schema::uri (e, f | ::xml_schema::flags::base, c), + base_ (this), + lang_ (this) + { + if ((f & ::xml_schema::flags::base) == 0) + { + ::xsd::cxx::xml::dom::parser< char > p (e, false, true); + this->parse (p, f); + } + } + + void uriType:: + parse (::xsd::cxx::xml::dom::parser< char >& p, + ::xml_schema::flags f) + { + while (p.more_attributes ()) + { + const ::xercesc::DOMAttr& i (p.next_attribute ()); + const ::xsd::cxx::xml::qualified_name< char > n ( + ::xsd::cxx::xml::dom::name< char > (i)); + + if (n.name () == "base" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->base_.set (base_traits::create (i, f, this)); + continue; + } + + if (n.name () == "lang" && n.namespace_ () == "http://www.w3.org/XML/1998/namespace") + { + this->lang_.set (lang_traits::create (i, f, this)); + continue; + } + } + } + + uriType* uriType:: + _clone (::xml_schema::flags f, + ::xml_schema::container* c) const + { + return new class uriType (*this, f, c); + } + + uriType& uriType:: + operator= (const uriType& x) + { + if (this != &x) + { + static_cast< ::xml_schema::uri& > (*this) = x; + this->base_ = x.base_; + this->lang_ = x.lang_; + } + + return *this; + } + + uriType:: + ~uriType () + { + } + + static + const ::xsd::cxx::tree::type_factory_initializer< 0, char, uriType > + _xsd_uriType_type_factory_init ( + "uriType", + "http://www.w3.org/2005/Atom"); +} + +#include +#include +#include + +namespace Atom +{ +} + +#include +#include +#include + +#include + +namespace _xsd +{ + static + const ::xsd::cxx::tree::type_serializer_plate< 0, char > + type_serializer_plate_init; +} + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement& e, const uriType& i) + { + e << static_cast< const ::xml_schema::uri& > (i); + + // base + // + if (i.base ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "base", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.base (); + } + + // lang + // + if (i.lang ()) + { + ::xercesc::DOMAttr& a ( + ::xsd::cxx::xml::dom::create_attribute ( + "lang", + "http://www.w3.org/XML/1998/namespace", + e)); + + a << *i.lang (); + } + } + + static + const ::xsd::cxx::tree::type_serializer_initializer< 0, char, uriType > + _xsd_uriType_type_serializer_init ( + "uriType", + "http://www.w3.org/2005/Atom"); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + diff --git a/oadrsd/oadrsd/2b/uriType.hxx b/oadrsd/oadrsd/2b/uriType.hxx new file mode 100644 index 0000000..01f3017 --- /dev/null +++ b/oadrsd/oadrsd/2b/uriType.hxx @@ -0,0 +1,384 @@ +// Copyright (c) 2005-2011 Code Synthesis Tools CC +// +// This program was generated by CodeSynthesis XSD, an XML Schema to +// C++ data binding compiler. +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2 as +// published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +// +// In addition, as a special exception, Code Synthesis Tools CC gives +// permission to link this program with the Xerces-C++ library (or with +// modified versions of Xerces-C++ that use the same license as Xerces-C++), +// and distribute linked combinations including the two. You must obey +// the GNU General Public License version 2 in all respects for all of +// the code used other than Xerces-C++. If you modify this copy of the +// program, you may extend this exception to your version of the program, +// but you are not obligated to do so. If you do not wish to do so, delete +// this exception statement from your version. +// +// Furthermore, Code Synthesis Tools CC makes a special exception for +// the Free/Libre and Open Source Software (FLOSS) which is described +// in the accompanying FLOSSE file. +// + +#ifndef URI_TYPE_HXX +#define URI_TYPE_HXX + +#ifndef XSD_USE_CHAR +#define XSD_USE_CHAR +#endif + +#ifndef XSD_CXX_TREE_USE_CHAR +#define XSD_CXX_TREE_USE_CHAR +#endif + +#include + +#if (XSD_INT_VERSION != 3999913L) +#error XSD runtime version mismatch +#endif + +#include + +// Begin prologue. +// +// +// End prologue. + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace xml_schema +{ + // anyType and anySimpleType. + // + typedef ::xsd::cxx::tree::type type; + typedef ::xsd::cxx::tree::simple_type< type > simple_type; + typedef ::xsd::cxx::tree::type container; + + // 8-bit + // + typedef signed char byte; + typedef unsigned char unsigned_byte; + + // 16-bit + // + typedef short short_; + typedef unsigned short unsigned_short; + + // 32-bit + // + typedef int int_; + typedef unsigned int unsigned_int; + + // 64-bit + // + typedef long long long_; + typedef unsigned long long unsigned_long; + + // Supposed to be arbitrary-length integral types. + // + typedef long long integer; + typedef long long non_positive_integer; + typedef unsigned long long non_negative_integer; + typedef unsigned long long positive_integer; + typedef long long negative_integer; + + // Boolean. + // + typedef bool boolean; + + // Floating-point types. + // + typedef float float_; + typedef double double_; + typedef double decimal; + + // String types. + // + typedef ::xsd::cxx::tree::string< char, simple_type > string; + typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; + typedef ::xsd::cxx::tree::token< char, normalized_string > token; + typedef ::xsd::cxx::tree::name< char, token > name; + typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; + typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; + typedef ::xsd::cxx::tree::ncname< char, name > ncname; + typedef ::xsd::cxx::tree::language< char, token > language; + + // ID/IDREF. + // + typedef ::xsd::cxx::tree::id< char, ncname > id; + typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; + typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; + + // URI. + // + typedef ::xsd::cxx::tree::uri< char, simple_type > uri; + + // Qualified name. + // + typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; + + // Binary. + // + typedef ::xsd::cxx::tree::buffer< char > buffer; + typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; + typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; + + // Date/time. + // + typedef ::xsd::cxx::tree::time_zone time_zone; + typedef ::xsd::cxx::tree::date< char, simple_type > date; + typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; + typedef ::xsd::cxx::tree::duration< char, simple_type > duration; + typedef ::xsd::cxx::tree::gday< char, simple_type > gday; + typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; + typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; + typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; + typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; + typedef ::xsd::cxx::tree::time< char, simple_type > time; + + // Entity. + // + typedef ::xsd::cxx::tree::entity< char, ncname > entity; + typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; + + // Namespace information and list stream. Used in + // serialization functions. + // + typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; + typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; + typedef ::xsd::cxx::tree::list_stream< char > list_stream; + typedef ::xsd::cxx::tree::as_double< double_ > as_double; + typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; + typedef ::xsd::cxx::tree::facet facet; + + // Flags and properties. + // + typedef ::xsd::cxx::tree::flags flags; + typedef ::xsd::cxx::tree::properties< char > properties; + + // Parsing/serialization diagnostics. + // + typedef ::xsd::cxx::tree::severity severity; + typedef ::xsd::cxx::tree::error< char > error; + typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; + + // Exceptions. + // + typedef ::xsd::cxx::tree::exception< char > exception; + typedef ::xsd::cxx::tree::bounds< char > bounds; + typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; + typedef ::xsd::cxx::tree::parsing< char > parsing; + typedef ::xsd::cxx::tree::expected_element< char > expected_element; + typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; + typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; + typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; + typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; + typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; + typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; + typedef ::xsd::cxx::tree::not_derived< char > not_derived; + typedef ::xsd::cxx::tree::serialization< char > serialization; + + // Error handler callback interface. + // + typedef ::xsd::cxx::xml::error_handler< char > error_handler; + + // DOM interaction. + // + namespace dom + { + // Automatic pointer for DOMDocument. + // + using ::xsd::cxx::xml::dom::auto_ptr; + +#ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA +#define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA + // DOM user data key for back pointers to tree nodes. + // + const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; +#endif + } +} + +// Forward declarations. +// +namespace Atom +{ + class uriType; +} + + +#include // ::std::auto_ptr +#include // std::numeric_limits +#include // std::binary_search + +#include + +#include +#include +#include +#include + +#include + +namespace Atom +{ + class uriType: public ::xml_schema::uri + { + public: + // base + // + typedef ::xml_schema::uri base_type; + typedef ::xsd::cxx::tree::optional< base_type > base_optional; + typedef ::xsd::cxx::tree::traits< base_type, char > base_traits; + + const base_optional& + base () const; + + base_optional& + base (); + + void + base (const base_type& x); + + void + base (const base_optional& x); + + void + base (::std::auto_ptr< base_type > p); + + // lang + // + typedef ::xml_schema::language lang_type; + typedef ::xsd::cxx::tree::optional< lang_type > lang_optional; + typedef ::xsd::cxx::tree::traits< lang_type, char > lang_traits; + + const lang_optional& + lang () const; + + lang_optional& + lang (); + + void + lang (const lang_type& x); + + void + lang (const lang_optional& x); + + void + lang (::std::auto_ptr< lang_type > p); + + // Constructors. + // + uriType (const ::xml_schema::uri&); + + uriType (const ::xercesc::DOMElement& e, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + uriType (const uriType& x, + ::xml_schema::flags f = 0, + ::xml_schema::container* c = 0); + + virtual uriType* + _clone (::xml_schema::flags f = 0, + ::xml_schema::container* c = 0) const; + + uriType& + operator= (const uriType& x); + + virtual + ~uriType (); + + // Implementation. + // + protected: + void + parse (::xsd::cxx::xml::dom::parser< char >&, + ::xml_schema::flags); + + protected: + base_optional base_; + lang_optional lang_; + }; +} + +#include + +#include +#include +#include + +namespace Atom +{ +} + +#include + +#include +#include +#include + +#include + +namespace Atom +{ + void + operator<< (::xercesc::DOMElement&, const uriType&); +} + +// Begin epilogue. +// +// +// End epilogue. + +#include + +#endif // URI_TYPE_HXX diff --git a/oadrtest/.gitignore b/oadrtest/.gitignore new file mode 100644 index 0000000..7a852d3 --- /dev/null +++ b/oadrtest/.gitignore @@ -0,0 +1,4 @@ +/Debug +/Release +/mac-Debug +/Debug diff --git a/oadrtest/SConscript b/oadrtest/SConscript new file mode 100644 index 0000000..1aa53bb --- /dev/null +++ b/oadrtest/SConscript @@ -0,0 +1,18 @@ +import glob +import os +import sconsHelper + +Import('cflags buildmode') + +# Get the GTEST path from the environment. +gtest = os.getenv('GTEST_PATH') + +gtestLib = gtest + '/lib' +gtestHeaders = gtest + '/include' + +cppPath = ['helper', gtestHeaders, '#oadr', '#oadrsd', '../xsd-4.0.0'] +libDir = ['../oadr/' + buildmode, '../oadrsd/' + buildmode, gtestLib] +libs = ['oadr', 'oadrsd', 'ssl', 'crypto', 'gtest', 'pthread', 'libcurl', 'xerces-c'] + +sconsHelper.build('oadrtest', cppPath, cflags, libDir, libs, buildmode, "program") + diff --git a/oadrtest/oadrtest/conf/000-default.conf b/oadrtest/oadrtest/conf/000-default.conf new file mode 100644 index 0000000..0162c6b --- /dev/null +++ b/oadrtest/oadrtest/conf/000-default.conf @@ -0,0 +1,82 @@ +ServerName openadr.nebland.com + + # The ServerName directive sets the request scheme, hostname and port that + # the server uses to identify itself. This is used when creating + # redirection URLs. In the context of virtual hosts, the ServerName + # specifies what hostname must appear in the request's Host: header to + # match this virtual host. For the default virtual host (this file) this + # value is not decisive as it is used as a last resort host regardless. + # However, you must set it for any further virtual host explicitly. + ServerName test.openadr.net + SSLEngine on + + SSLCertificateFile /etc/apache2/certs/vtn_rsa_cert.der + SSLCertificateKeyFile /etc/apache2/certs/vtn_rsa_key.der + + SSLCertificateFile /etc/apache2/certs/vtn_ecc_cert.der + SSLCertificateKeyFile /etc/apache2/certs/vtn_ecc_key.der + + SSLCipherSuite AES128-SHA256:ECDHE-ECDSA-AES128-SHA256 + + SSLVerifyClient require + SSLVerifyDepth 10 + SSLCACertificateFile /etc/apache2/certs/cacert_rsa_ecc.pem + + #RequestHeader add SSL_CLIENT_S_DN_CN %{SSL_CLIENT_S_DN_CN}s + #RequestHeader set SSL_CLIENT_VERIFY %{SSL_CLIENT_VERIFY}s + + + ErrorLog /var/log/apache2/ssl_engine.log + LogLevel debug + + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, + # error, crit, alert, emerg. + # It is also possible to configure the loglevel for particular + # modules, e.g. + #LogLevel info ssl:warn + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + # For most configuration files from conf-available/, which are + # enabled or disabled at a global level, it is possible to + # include a line for only one particular virtual host. For example the + # following line enables the CGI configuration for this host only + # after it has been globally disabled with "a2disconf". + #Include conf-available/serve-cgi-bin.conf + + + # The ServerName directive sets the request scheme, hostname and port that + # the server uses to identify itself. This is used when creating + # redirection URLs. In the context of virtual hosts, the ServerName + # specifies what hostname must appear in the request's Host: header to + # match this virtual host. For the default virtual host (this file) this + # value is not decisive as it is used as a last resort host regardless. + # However, you must set it for any further virtual host explicitly. + ServerName openadr.net + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, + # error, crit, alert, emerg. + # It is also possible to configure the loglevel for particular + # modules, e.g. + #LogLevel info ssl:warn + + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + # For most configuration files from conf-available/, which are + # enabled or disabled at a global level, it is possible to + # include a line for only one particular virtual host. For example the + # following line enables the CGI configuration for this host only + # after it has been globally disabled with "a2disconf". + #Include conf-available/serve-cgi-bin.conf + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/oadrtest/oadrtest/expected_output/RegisterReport_XMLOutput1.xml b/oadrtest/oadrtest/expected_output/RegisterReport_XMLOutput1.xml new file mode 100644 index 0000000..3b046f9 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/RegisterReport_XMLOutput1.xml @@ -0,0 +1,86 @@ + + + + + + requestID + + + PT120M + + + rid1 + + resourceID1 + + reading + + + kWh + none + + Direct Read + http://MarketContext1 + + PT5M + PT5M + false + + + + rid2 + + resourceID1 + + reading + + + kW + none + + 60 + 120 + true + + + Direct Read + http://MarketContext1 + + PT5M + PT5M + false + + + 0 + 1234 + METADATA_TELEMETRY_USAGE + 2014-07-22T22:06:01Z + + + + PT120M + + + rid3 + + resoruceID1 + + x-resourceStatus + x-notApplicable + http://MarketContext1 + + PT5M + PT5M + false + + + 0 + 5678 + METADATA_TELEMETRY_STATUS + 2014-07-22T22:06:01Z + + venID + + + + diff --git a/oadrtest/oadrtest/expected_output/create_opt_schedule1.xml b/oadrtest/oadrtest/expected_output/create_opt_schedule1.xml new file mode 100644 index 0000000..69463c1 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/create_opt_schedule1.xml @@ -0,0 +1,53 @@ + + + + + + optid + optIn + economic + MarketContext1 + venid + + + + + + 2013-12-30T16:19:58Z + + + PT24H + + + + + + + 2013-12-30T16:19:58Z + + + PT24H + + + + + + + 2013-12-30T16:19:58Z + + + PT24H + + + + + + 2013-12-30T16:19:58Z + requestID + + resourceid + + + + + diff --git a/oadrtest/oadrtest/expected_output/currency_actual.xml b/oadrtest/oadrtest/expected_output/currency_actual.xml new file mode 100644 index 0000000..bc53292 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/currency_actual.xml @@ -0,0 +1,10 @@ + + + + currency + + AED + + p + + diff --git a/oadrtest/oadrtest/expected_output/currency_per_kw_actual.xml b/oadrtest/oadrtest/expected_output/currency_per_kw_actual.xml new file mode 100644 index 0000000..4e7d4ca --- /dev/null +++ b/oadrtest/oadrtest/expected_output/currency_per_kw_actual.xml @@ -0,0 +1,10 @@ + + + + currency + + AED + + p + + diff --git a/oadrtest/oadrtest/expected_output/currency_per_kwh.xml b/oadrtest/oadrtest/expected_output/currency_per_kwh.xml new file mode 100644 index 0000000..12aaa92 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/currency_per_kwh.xml @@ -0,0 +1,23 @@ + + + currency + AED + p + diff --git a/oadrtest/oadrtest/expected_output/currency_per_kwh_actual.xml b/oadrtest/oadrtest/expected_output/currency_per_kwh_actual.xml new file mode 100644 index 0000000..ede2b9e --- /dev/null +++ b/oadrtest/oadrtest/expected_output/currency_per_kwh_actual.xml @@ -0,0 +1,10 @@ + + + + currency + + AED + + p + + diff --git a/oadrtest/oadrtest/expected_output/register_report1.xml b/oadrtest/oadrtest/expected_output/register_report1.xml new file mode 100644 index 0000000..9861a1f --- /dev/null +++ b/oadrtest/oadrtest/expected_output/register_report1.xml @@ -0,0 +1,138 @@ + + + + + + request_id + + + PT10M + + + status_rid + + resource_id + + x-resourceStatus + x-notApplicable + http://MarketContext1 + + PT1M + PT1M + false + + + 0 + report_spec_1 + MEDATA_DATA_TELEMETRY_STATUS + 2013-12-30T16:19:58Z + + + + PT24H + + + energy_rid + + resoruce_id + + reading + + + Wh + none + + Direct Read + http://MarketContext1 + + PT1H + PT1H + false + + + + power_rid + + resoruce_id + + reading + + + W + none + + 60 + 120 + true + + + Direct Read + http://MarketContext1 + + PT10S + PT10S + false + + + 0 + report_spec_2 + MEDATA_DATA_TELEMETRY_USAGE + 2013-12-30T16:19:58Z + + + + PT24H + + + energy_rid + + resoruce_id + + reading + + + Wh + none + + Direct Read + http://MarketContext1 + + PT1H + PT1H + false + + + + power_rid + + resoruce_id + + reading + + + W + none + + 60 + 120 + true + + + Direct Read + http://MarketContext1 + + PT10S + PT10S + false + + + 0 + report_spec_3 + MEDATA_DATA_HISTORY_USAGE + 2013-12-30T16:19:58Z + + ven_id + + + + diff --git a/oadrtest/oadrtest/expected_output/request_event1.xml b/oadrtest/oadrtest/expected_output/request_event1.xml new file mode 100644 index 0000000..605f48b --- /dev/null +++ b/oadrtest/oadrtest/expected_output/request_event1.xml @@ -0,0 +1,14 @@ + + + + + + + requestID + venid + 22 + + + + + diff --git a/oadrtest/oadrtest/expected_output/update_report1.xml b/oadrtest/oadrtest/expected_output/update_report1.xml new file mode 100644 index 0000000..8b42845 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/update_report1.xml @@ -0,0 +1,234 @@ + + + + + + request_id + + + + + 2013-12-30T16:19:58Z + + + PT2M + + + 0 + + + status_rid + 100 + 100 + + true + true + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + Quality Good - Non Specific + + + status_rid + 100 + 100 + + false + false + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + + Quality Good - Non Specific + + + + report_request_id + report_spec_1 + TELEMETRY_STATUS + 2013-12-30T16:19:58Z + + + + + + 2013-12-30T16:19:58Z + + + PT2H + + + 0 + + + energy_rid + 100 + 100 + + 1 + + Quality Good - Non Specific + + + energy_rid + 100 + 100 + + 2 + + Quality Good - Non Specific + + + + + 2013-12-30T16:19:58Z + + + PT20S + + + 1 + + + power_rid + 100 + 100 + + 1 + + Quality Good - Non Specific + + + power_rid + 100 + 100 + + 2 + + Quality Good - Non Specific + + + + report_request_id + report_spec_2 + TELEMETRY_USAGE + 2013-12-30T16:19:58Z + + + + + + 2013-12-30T16:19:58Z + + + PT2H + + + 0 + + + energy_rid + 100 + 100 + + 1 + + Quality Good - Non Specific + + + energy_rid + 100 + 100 + + 2 + + Quality Good - Non Specific + + + + + 2013-12-30T16:19:58Z + + + PT20S + + + 1 + + + power_rid + 100 + 100 + + 1 + + Quality Good - Non Specific + + + power_rid + 100 + 100 + + 2 + + Quality Good - Non Specific + + + + report_request_id + report_spec_3 + HISTORY_USAGE + 2013-12-30T16:19:58Z + + ven_id + + + + diff --git a/oadrtest/oadrtest/expected_output/update_report2.xml b/oadrtest/oadrtest/expected_output/update_report2.xml new file mode 100644 index 0000000..97a7b34 --- /dev/null +++ b/oadrtest/oadrtest/expected_output/update_report2.xml @@ -0,0 +1,32 @@ + + + + + + request_id + + + report_request_id + report_spec_1 + TELEMETRY_STATUS + 2013-12-30T16:19:58Z + + + + report_request_id + report_spec_2 + TELEMETRY_USAGE + 2013-12-30T16:19:58Z + + + + report_request_id + report_spec_3 + HISTORY_USAGE + 2013-12-30T16:19:58Z + + ven_id + + + + diff --git a/oadrtest/oadrtest/helper/LoadFile.cpp b/oadrtest/oadrtest/helper/LoadFile.cpp new file mode 100644 index 0000000..290e827 --- /dev/null +++ b/oadrtest/oadrtest/helper/LoadFile.cpp @@ -0,0 +1,360 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "LoadFile.h" + +#include +#include +#include + +LoadFile::LoadFile() +{ +} + +/********************************************************************************/ + +LoadFile::~LoadFile() +{ +} + +/********************************************************************************/ + +string LoadFile::loadFile(string fileName) +{ + std::ifstream file(fileName.c_str()); + + std::string fileContents((std::istreambuf_iterator(file)), + std::istreambuf_iterator()); + + file.close(); + + return fileContents; +} + +/********************************************************************************/ + +string LoadFile::loadExpectedOutputFile(string fileName) +{ + return loadFile("../oadrtest/expected_output/" + fileName); +} + +/********************************************************************************/ + +string LoadFile::loadTestInputFile(string fileName) +{ + return loadFile("../oadrtest/test_input/" + fileName); +} diff --git a/oadrtest/oadrtest/helper/LoadFile.h b/oadrtest/oadrtest/helper/LoadFile.h new file mode 100644 index 0000000..cb9cf06 --- /dev/null +++ b/oadrtest/oadrtest/helper/LoadFile.h @@ -0,0 +1,340 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef LOADFILE_H_ +#define LOADFILE_H_ + +#include + +using namespace std; + +class LoadFile +{ +private: + LoadFile(); + + static string loadFile(string fileName); + +public: + + virtual ~LoadFile(); + + static string loadExpectedOutputFile(string fileName); + static string loadTestInputFile(string fileName); +}; + +#endif /* LOADFILE_H_ */ diff --git a/oadrtest/oadrtest/main.cpp b/oadrtest/oadrtest/main.cpp new file mode 100644 index 0000000..93a2b95 --- /dev/null +++ b/oadrtest/oadrtest/main.cpp @@ -0,0 +1,381 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +using namespace std; + +/* +namespace { + +// The fixture for testing class Foo. +class FooTest : public ::testing::Test { + protected: + // You can remove any or all of the following functions if its body + // is empty. + + FooTest() { + // You can do set-up work for each test here. + } + + virtual ~FooTest() { + // You can do clean-up work that doesn't throw exceptions here. + } + + // If the constructor and destructor are not enough for setting up + // and cleaning up each test, you can define the following methods: + + virtual void SetUp() { + // Code here will be called immediately after the constructor (right + // before each test). + } + + virtual void TearDown() { + // Code here will be called immediately after each test (right + // before the destructor). + } + + // Objects declared here can be used by all tests in the test case for Foo. +}; + +// Tests that the Foo::Bar() method does Abc. +TEST_F(FooTest, MethodBarDoesAbc) { + const string input_filepath = "this/package/testdata/myinputfile.dat"; + const string output_filepath = "this/package/testdata/myoutputfile.dat"; + + // Foo f; + // EXPECT_EQ(0, f.Bar(input_filepath, output_filepath)); +} + +// Tests that Foo does Xyz. +TEST_F(FooTest, DoesXyz) { + // Exercises the Xyz feature of Foo. +} + +} // namespace +*/ + +int main(int argc, char **argv) +{ + ::testing::GTEST_FLAG(filter) = "-VEN2bTestSet.*:CurlHTTPTest.*"; + + ::testing::InitGoogleTest(&argc, argv); + + return RUN_ALL_TESTS(); +} diff --git a/oadrtest/oadrtest/test_input/currency.xml b/oadrtest/oadrtest/test_input/currency.xml new file mode 100644 index 0000000..4044d9c --- /dev/null +++ b/oadrtest/oadrtest/test_input/currency.xml @@ -0,0 +1,23 @@ + + + currency + AED + p + diff --git a/oadrtest/oadrtest/test_input/currency1.xml b/oadrtest/oadrtest/test_input/currency1.xml new file mode 100644 index 0000000..92be103 --- /dev/null +++ b/oadrtest/oadrtest/test_input/currency1.xml @@ -0,0 +1,23 @@ + + + currency + AED + p + diff --git a/oadrtest/oadrtest/test_input/currency_per_kw.xml b/oadrtest/oadrtest/test_input/currency_per_kw.xml new file mode 100644 index 0000000..5237c46 --- /dev/null +++ b/oadrtest/oadrtest/test_input/currency_per_kw.xml @@ -0,0 +1,23 @@ + + + currencyPerKW + AED + p + diff --git a/oadrtest/oadrtest/test_input/currency_per_kw1.xml b/oadrtest/oadrtest/test_input/currency_per_kw1.xml new file mode 100644 index 0000000..4f5cff1 --- /dev/null +++ b/oadrtest/oadrtest/test_input/currency_per_kw1.xml @@ -0,0 +1,23 @@ + + + currency + AED + p + diff --git a/oadrtest/oadrtest/test_input/currency_per_kwh.xml b/oadrtest/oadrtest/test_input/currency_per_kwh.xml new file mode 100644 index 0000000..20d3dca --- /dev/null +++ b/oadrtest/oadrtest/test_input/currency_per_kwh.xml @@ -0,0 +1,23 @@ + + + currencyPerKWh + AED + p + diff --git a/oadrtest/oadrtest/test_input/test_buffer1.txt b/oadrtest/oadrtest/test_input/test_buffer1.txt new file mode 100644 index 0000000..8c63f98 --- /dev/null +++ b/oadrtest/oadrtest/test_input/test_buffer1.txt @@ -0,0 +1,26 @@ +HTTP/1.1 200 OK +Server: Apache-Coyote/1.1 +X-UA-Compatible: IE=Edge +ETag: "ce9fc5cb1bdd952d0b00d904ca96dac4" +Cache-Control: max-age=0, private, must-revalidate +Set-Cookie: _oadr_session=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTI1OTRiMDAwYzI1YjJhNjY4MzkwMjhiOTZmZDdjYzNmBjsAVA%3D%3D--7e20313fa96bcbd9f835f1896ab0c1b86d741407; path=/; HttpOnly +Set-Cookie: oadr_remember_token=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT +X-Request-Id: 4dfcd3f89f5f2652b0803062a73c38f3 +X-Runtime: 0.073000 +Content-Type: application/xml;charset=utf-8 +Content-Length: 1308 +Date: Fri, 20 Dec 2013 07:30:46 GMT + + + + + + + 452 + Invalid ID + F3379C25CB + + + + + diff --git a/oadrtest/oadrtest/test_input/test_parser1.xml b/oadrtest/oadrtest/test_input/test_parser1.xml new file mode 100644 index 0000000..f23333f --- /dev/null +++ b/oadrtest/oadrtest/test_input/test_parser1.xml @@ -0,0 +1,13 @@ + + + + + + 452 + Invalid ID + A40A878C91 + + + + + diff --git a/oadrtest/oadrtest/tests/CurlHTTPTest.cpp b/oadrtest/oadrtest/tests/CurlHTTPTest.cpp new file mode 100644 index 0000000..316b836 --- /dev/null +++ b/oadrtest/oadrtest/tests/CurlHTTPTest.cpp @@ -0,0 +1,473 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include "../helper/LoadFile.h" + +/********************************************************************************/ + +TEST(CurlHTTPTest, TestHTTP_Success) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->post("http://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("200", responseCode); +} + +TEST(CurlHTTPTest, TestHTTP_FileNotFound) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->post("http://openadr.nebland.com/filenotthere.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("404", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_RSA_Success) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_rsa_cert.pem", "/etc/apache2/certs/ven_rsa_privkey.pem", "/etc/apache2/certs/cacert_rsa.pem", 1, "AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("200", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_RSA_FileNotFound) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_rsa_cert.pem", "/etc/apache2/certs/ven_rsa_privkey.pem", "/etc/apache2/certs/cacert_rsa.pem", 1, "AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/filenotfound.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("404", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_RSA_NoValidCA_NoVerify) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_rsa_cert.pem", "/etc/apache2/certs/ven_rsa_privkey.pem", "/etc/apache2/certs/cacert_ecc.pem", false, "AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("200", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_RSA_NoValidCA_VerifyFail) { + HttpCurl* httpRequest; + CURLcode cc = CURLE_OK; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_rsa_cert.pem", "/etc/apache2/certs/ven_rsa_privkey.pem", "/etc/apache2/certs/cacert_ecc.pem", true, "AES128-SHA256"); + + try + { + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + } + catch (CurlException& ex) + { + cc = ex.curlCode(); + } + + EXPECT_EQ(CURLE_SSL_CACERT, cc); +} + +TEST(CurlHTTPTest, TestHTTPS_ECC_Success) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_ecc_cert.pem", "/etc/apache2/certs/ven_ecc_privkey.pem", "/etc/apache2/certs/cacert_ecc.pem", 1, "ECDHE-ECDSA-AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("200", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_ECC_FileNotFound) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_ecc_cert.pem", "/etc/apache2/certs/ven_ecc_privkey.pem", "/etc/apache2/certs/cacert_ecc.pem", 1, "ECDHE-ECDSA-AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/filenotfound.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("404", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_ECC_NoValidCA_NoVerify) { + HttpCurl* httpRequest; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_ecc_cert.pem", "/etc/apache2/certs/ven_ecc_privkey.pem", "/etc/apache2/certs/cacert_rsa.pem", false, "ECDHE-ECDSA-AES128-SHA256"); + + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + + string responseCode = httpRequest->getResponseCode(); + + EXPECT_EQ("200", responseCode); +} + +TEST(CurlHTTPTest, TestHTTPS_ECC_NoValidCA_VerifyFail) { + HttpCurl* httpRequest; + CURLcode cc = CURLE_OK; + + httpRequest = new HttpCurl(); + + httpRequest->setParameters("/etc/apache2/certs/ven_ecc_cert.pem", "/etc/apache2/certs/ven_ecc_privkey.pem", "/etc/apache2/certs/cacert_rsa.pem", true, "ECDHE-ECDSA-AES128-SHA256"); + + try + { + httpRequest->post("https://openadr.nebland.com/index.php", "GiveMeYourPHPInfo"); + } + catch (CurlException& ex) + { + cc = ex.curlCode(); + } + + EXPECT_EQ(CURLE_SSL_CACERT, cc); +} + diff --git a/oadrtest/oadrtest/tests/CurlReceiveBufferTest.cpp b/oadrtest/oadrtest/tests/CurlReceiveBufferTest.cpp new file mode 100644 index 0000000..966bafc --- /dev/null +++ b/oadrtest/oadrtest/tests/CurlReceiveBufferTest.cpp @@ -0,0 +1,352 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include "../helper/LoadFile.h" + +/********************************************************************************/ + +TEST(CurlReceiveBuffer, TestBuffer1) { + CurlReceiveBuffer buffer; + string content = LoadFile::loadTestInputFile("test_buffer1.txt"); + + map headers; + map cookies; + string body; + string version; + string code; + string description; + + buffer.receive(content.c_str(), content.length()); + + buffer.parse(headers, cookies, body, version, code, description); + + // cout << "body " << body << " headers: " << headers.size() << endl; + EXPECT_EQ("HTTP/1.1", version); + EXPECT_EQ("200", code); + EXPECT_EQ("OK", description); + EXPECT_EQ("Fri, 20 Dec 2013 07:30:46 GMT", headers["Date"]); + EXPECT_EQ("application/xml;charset=utf-8", headers["Content-Type"]); + + EXPECT_EQ((size_t)9, headers.size()); + EXPECT_EQ((size_t)2, cookies.size()); + + EXPECT_EQ("BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTI1OTRiMDAwYzI1YjJhNjY4MzkwMjhiOTZmZDdjYzNmBjsAVA%3D%3D--7e20313fa96bcbd9f835f1896ab0c1b86d741407; path=/; HttpOnly", cookies["_oadr_session"]); +} diff --git a/oadrtest/oadrtest/tests/CurrencyTest.cpp b/oadrtest/oadrtest/tests/CurrencyTest.cpp new file mode 100644 index 0000000..50377f1 --- /dev/null +++ b/oadrtest/oadrtest/tests/CurrencyTest.cpp @@ -0,0 +1,402 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include +#include +#include + +#include "../helper/LoadFile.h" + +#include "oadrsd/2b/oadr_20b.hxx" + +using namespace oadr2b::oadr; + + + +/********************************************************************************/ + +/** + * Demonstrate parsing a currencyPerKWh file + * The root element of a currency object can be: currency, currencyPerKWh, currencyPerKW ... + * All of these currency types are aliases for currency + */ +TEST(CurrencyTest, CurrencyPerKWh) { + + string content = LoadFile::loadTestInputFile("currency_per_kwh.xml"); + stringstream iss(content); + + // Get the instance loaded from test_input + auto_ptr cpkwh(currencyPerKWh(iss, xsd::cxx::tree::flags::dont_validate)); + + ASSERT_EQ(std::string("currencyPerKWh"), cpkwh->itemDescription()); +} + +/********************************************************************************/ + +/** + * Demonstrate parsing a currencyPerKW file ... + */ +TEST(CurrencyTest, CurrencyPerKW) { + + string content = LoadFile::loadTestInputFile("currency_per_kw.xml"); + stringstream iss(content); + + // Get the instance loaded from test_input + auto_ptr cpkw(currencyPerKW(iss, xsd::cxx::tree::flags::dont_validate)); + + ASSERT_EQ( std::string("currencyPerKW"), cpkw->itemDescription()); +} + +/********************************************************************************/ + +/** + * Demonstrate parsing a currency file ... + */ +TEST(CurrencyTest, Currency) { + + string content = LoadFile::loadTestInputFile("currency.xml"); + stringstream iss(content); + + // Get the instance loaded from test_input + auto_ptr curr(currency(iss, xsd::cxx::tree::flags::dont_validate)); + + ASSERT_EQ( std::string("currency"), curr->itemDescription()); +} + + +/********************************************************************************/ + +/** + * demonstrate building, serializing, and deserializing a currency object + */ +TEST(CurrencyTest, CurrencyPerKWhBuilt) { + + // Get the instance loaded from test_input + currencyType cpkwh(currencyItemDescriptionType(currencyItemDescriptionType::currencyPerKWh), + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType(::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::USD), + siscale::SiScaleCodeType(siscale::SiScaleCodeType::p)); + + stringstream iss; + + // Serialize the object. + currency(iss, cpkwh); + + auto_ptr cpkwh2(currency(iss, xsd::cxx::tree::flags::dont_validate)); + + ASSERT_EQ(std::string("currencyPerKWh"), cpkwh2->itemDescription()); +} + diff --git a/oadrtest/oadrtest/tests/Oadr2bHelperTest.cpp b/oadrtest/oadrtest/tests/Oadr2bHelperTest.cpp new file mode 100644 index 0000000..644d6db --- /dev/null +++ b/oadrtest/oadrtest/tests/Oadr2bHelperTest.cpp @@ -0,0 +1,338 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include + +using namespace std; + +TEST(OADR2bHelper, timetToiCalDateTime){ + + time_t t_now = 1388420398; + // tm tm_now; + + //gmtime_r(&t_now, &tm_now); + //cout << t_now << endl; + + icalendar_2_0::DateTimeType dtt = Oadr2bHelper::timetToiCalDateTime(t_now); + + ASSERT_EQ(2013, dtt.year()); + ASSERT_EQ(12, dtt.month()); +} diff --git a/oadrtest/oadrtest/tests/ParserTest.cpp b/oadrtest/oadrtest/tests/ParserTest.cpp new file mode 100644 index 0000000..3ede123 --- /dev/null +++ b/oadrtest/oadrtest/tests/ParserTest.cpp @@ -0,0 +1,383 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include +#include + +#include + +#include "../helper/LoadFile.h" + +#include + +#include + +using namespace oadr2b::oadr; + +using namespace xercesc_3_1; + +using namespace xsd::cxx::tree; + +/********************************************************************************/ + +TEST(Parser, TestParser1NoValidation) { + + XMLPlatformUtils::Initialize(); + + std::string content = LoadFile::loadTestInputFile("test_parser1.xml"); + + stringstream iss(content); + + auto_ptr payload(oadrPayload_(iss, flags::dont_validate)); + + ASSERT_EQ("A40A878C91", payload->oadrSignedObject().oadrResponse()->eiResponse().requestID()); + ASSERT_EQ("452", payload->oadrSignedObject().oadrResponse()->eiResponse().responseCode()); + ASSERT_EQ("Invalid ID", (*payload->oadrSignedObject().oadrResponse()->eiResponse().responseDescription())); + + XMLPlatformUtils::Terminate(); +} + +/********************************************************************************/ + +/** + * + * this test is failing.... need to figure out how to specify schema files for validation + * need to try listing each file individually + */ +TEST(Parser, DISABLED_TestParser1WithValidation) { + XMLPlatformUtils::Initialize(); + + xml_schema::properties prop; + + // prop.no_namespace_schema_location("file:///home/dupes/projects/epri/OpenADR/source/oadrlib/schema/2b/oadr_20b.xsd"); + prop.no_namespace_schema_location("file:///home/dupes/projects/epri/OpenADR/source/oadrlib/schema/2b/"); + // prop.no_namespace_schema_location("../../schema/2b/oadr_20b.xsd"); + // prop.no_namespace_schema_location("../../schema/2b/"); + + auto_ptr payload(oadrPayload_("../test_input/test_parser1.xml", 0, prop)); + + ASSERT_EQ("A40A878C91", payload->oadrSignedObject().oadrResponse()->eiResponse().requestID()); + ASSERT_EQ("452", payload->oadrSignedObject().oadrResponse()->eiResponse().responseCode()); + ASSERT_EQ("Invalid ID", (*payload->oadrSignedObject().oadrResponse()->eiResponse().responseDescription())); + + XMLPlatformUtils::Terminate(); + +} diff --git a/oadrtest/oadrtest/tests/RegisterReportTest.cpp b/oadrtest/oadrtest/tests/RegisterReportTest.cpp new file mode 100644 index 0000000..c8169f1 --- /dev/null +++ b/oadrtest/oadrtest/tests/RegisterReportTest.cpp @@ -0,0 +1,399 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include +#include + +#include + +#include "../helper/LoadFile.h" + +#include + +#include + +#include + +#include + +#include + +using namespace oadr2b::oadr; + +using namespace xercesc_3_1; + +using namespace xsd::cxx::tree; + +/********************************************************************************/ + +/** + * Verify RegisterReport can generate correct XML + */ +TEST(RegisterReport, XMLOutput1) { + oadrReportType::oadrReportDescription_sequence sequence; + + time_t now = 1406066761; + + // + // generate the report description for the telemetry usage report + // + oadrReportDescriptionType energy = ReportHelper::generateDescriptionEnergyItem("rid1", "resourceID1", ReportEnumeratedType::reading, + ReadingTypeEnumeratedType::Direct_Read, "http://MarketContext1", 5, 5, false, DurationModifier::MINUTES, + ReportHelper::eEnergyReal, "kWh", SiScaleCodeType::none); + + + oadrReportDescriptionType power = ReportHelper::generateDescriptionPowerItem("rid2", "resourceID1", ReportEnumeratedType::reading, + ReadingTypeEnumeratedType::Direct_Read, "http://MarketContext1", 5, 5, false, DurationModifier::MINUTES, + ReportHelper::ePowerReal, "kW", SiScaleCodeType::none, 60.0, 120, true); + + sequence.push_back(energy); + sequence.push_back(power); + + oadrReportType telemetryUsage = ReportHelper::generateReportDescription(ReportName::TELEMETRY_USAGE, 120, DurationModifier::MINUTES, + "1234", now, sequence); + + + // + // generate the report description for the telemetry status report + // + oadrReportDescriptionType status = ReportHelper::generateDescriptionResourceStatus("rid3", "resoruceID1", "http://MarketContext1", + 5, 5, false, DurationModifier::MINUTES); + + sequence.clear(); + + sequence.push_back(status); + + oadrReportType telemetryStatus = ReportHelper::generateReportDescription(ReportName::TELEMETRY_STATUS, 120, DurationModifier::MINUTES, + "5678", now, sequence); + + oadrRegisterReportType::oadrReport_sequence reports; + + reports.push_back(telemetryUsage); + reports.push_back(telemetryStatus); + + // string venID, string requestID, oadrRegisterReportType::oadrReport_sequence sequence + RegisterReport registreReport("venID", "requestID", reports); + + std::string output = registreReport.generateRequestXML(); + std::string expectedOutput = LoadFile::loadExpectedOutputFile("RegisterReport_XMLOutput1.xml"); + + ASSERT_EQ(expectedOutput, output); +} diff --git a/oadrtest/oadrtest/tests/VEN2bTestSetTest.cpp b/oadrtest/oadrtest/tests/VEN2bTestSetTest.cpp new file mode 100644 index 0000000..55df7ed --- /dev/null +++ b/oadrtest/oadrtest/tests/VEN2bTestSetTest.cpp @@ -0,0 +1,635 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include +#include + +#include "../helper/LoadFile.h" + +#define VEN_NAME "Test_VEN_Name" +#define VTN_URL "http://localhost:8181/OpenADR2/Simple/2.0b" + +/** + * These tests are intended to run against the Quality Logic test harness. As + * such, they are not automated. These tests could be integrated with the test + * harness but that's a task for another day. + * + * For now, you must execute each test individually. Start the test in the Quality + * Logic test harness. Next, execute the associated test from the following tests + * by running: + * ./oadrtest --gtest_filter=VEN2bTestSet. + * + * The names of the tests below match the names of the test in the Quality Logic + * test set. + * + * If you're running the tests from the command line, you must set LD_LIBRARY_PATH + * to include the oadr and oadrsd Debug library locations: + * export LD_LIBRARY_PATH=../../oadr/Debug/:../../oadrsd/Debug + * You will receive a library not found error if library path isn't set. + */ + +/********************************************************************************/ + +class VEN2bTestSet : public ::testing::Test +{ +protected: + VEN2b ven; + + auto_ptr m_queryRegistration; + + VEN2bTestSet() : + ven(new HttpCurl(), VTN_URL, VEN_NAME) + { + + } + + virtual void SetUp() + { + } + + virtual void TearDown() + { + } + + void queryRegistration() + { + m_queryRegistration = ven.queryRegistration(); + } + + auto_ptr registerVEN() + { + auto_ptr cpr = ven.createPartyRegistration(oadrProfileType(oadrProfileType::cxx_2_0b), + oadrTransportType(oadrTransportType::simpleHttp), "", false, false, true); + + return cpr; + } + + void queryAndRegister() + { + ven.queryRegistration(); + + if (!ven.isRegistered()) + registerVEN(); + } + + auto_ptr createOptSchedule_001() + { + // market context (parameter 3) must match one of the configured market context in the test set properties file + OptSchedule os(EiOptType::optType_type::optIn, OptReasonValue(OptReasonEnumeratedType::mustRun), "http://MarketContext1", "resource1", "optid"); + + // current time + 1 day, 4 hour duration + os.addAvailable(time(NULL) + 24 * 60 * 60, 4, DurationModifier::HOURS); + + // current time + 3 days, 4 8 duration + os.addAvailable(time(NULL) + 3 * (24 * 60 * 60), 8, DurationModifier::HOURS); + + auto_ptr cos = ven.createOptSchedule(os); + + return cos; + } + + auto_ptr createOptSchedule_002() + { + // market context (parameter 3) must match one of the configured market context in the test set properties file + OptSchedule os(EiOptType::optType_type::optOut, OptReasonValue(OptReasonEnumeratedType::mustRun), "http://MarketContext1", "resource1", "optid"); + + // current time + 2 days, 4 hour duration + os.addAvailable(time(NULL) + 2 * (24 * 60 * 60), 4, DurationModifier::HOURS); + + // current time + 4 days, 8 hour duration + os.addAvailable(time(NULL) + 4 * (24 * 60 * 60), 8, DurationModifier::HOURS); + + auto_ptr cos = ven.createOptSchedule(os); + + return cos; + } +}; + +/********************************************************************************/ + +/** + * query registration + */ +TEST_F(VEN2bTestSet, N1_0010_TH_VTN_1) { + + queryRegistration(); + + // cout << m_queryRegistration->responseBody() << endl; + + oadrPayload *response = m_queryRegistration->response(); + + ASSERT_TRUE(response->oadrSignedObject().oadrCreatedPartyRegistration().present()); + + oadrCreatedPartyRegistrationType *cpr = &response->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + ASSERT_EQ("200", cpr->eiResponse().responseCode()); + ASSERT_EQ(m_queryRegistration->requestID(), cpr->eiResponse().requestID()); +} + +/********************************************************************************/ + +/** + * bootstrap sequence + */ +TEST_F(VEN2bTestSet, N1_0020_TH_VTN_1) { + + auto_ptr cpr = registerVEN(); + + oadrPayload *response; + ASSERT_TRUE((response = cpr->response()) != NULL); + + ASSERT_TRUE(response->oadrSignedObject().oadrCreatedPartyRegistration().present()); + + oadrCreatedPartyRegistrationType *ocpr = &response->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + // check that the VEN and Registration IDs where successfully copied by the VEN object + ASSERT_EQ(*ocpr->venID(), ven.venID()); + ASSERT_EQ(*ocpr->registrationID(), ven.registrationID()); + + ASSERT_EQ("200", ocpr->eiResponse().responseCode()); + + // VTN should send an empty RegisterReport message + auto_ptr poll = ven.poll(); + ASSERT_TRUE((response = poll->response()) != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrRegisterReport().present()); + + // respond with registeredReport + auto_ptr registeredReport = ven.registeredReport(response->oadrSignedObject().oadrRegisterReport()->requestID(), "200", "OK"); + + // VTN should respond with oadrResponse, 200 + ASSERT_TRUE((response = registeredReport->response()) != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrResponse().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrResponse()->eiResponse().responseCode()); + + // register reports +} + +/********************************************************************************/ + +/** + * cancel registration + */ +TEST_F(VEN2bTestSet, N1_0030_TH_VTN_1) { + + queryAndRegister(); + + auto_ptr cpr = ven.cancelPartyRegistration(); + + oadrPayload *response = cpr->response(); + + ASSERT_TRUE(response->oadrSignedObject().oadrCanceledPartyRegistration().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrCanceledPartyRegistration()->eiResponse().responseCode()); +} + +/********************************************************************************/ + +/** + * empty distributeEvent + */ +TEST_F(VEN2bTestSet, E1_1010_TH_VTN_1) { + + queryAndRegister(); + + auto_ptr de = ven.requestEvent(); + + oadrPayload *response = de->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrDistributeEvent().present()); + + oadrDistributeEventType *ode = &response->oadrSignedObject().oadrDistributeEvent().get(); + + ASSERT_EQ((size_t)0, ode->oadrEvent().size()); + + // the VEN should NOT send a CreatedEvent message if no events are returned in the DistributeEvent response +} + +/********************************************************************************/ + +/** + * opt into an event + * can be run against test case E1_1040_TH_VTN_1 (handle multiple events) as well + */ +TEST_F(VEN2bTestSet, E1_1020_TH_VTN_1) { + + queryAndRegister(); + + auto_ptr de = ven.requestEvent(); + + oadrPayload *response = de->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrDistributeEvent().present()); + + oadrDistributeEventType *ode = &response->oadrSignedObject().oadrDistributeEvent().get(); + + ASSERT_TRUE(ode->oadrEvent().size() > 0); + + EventResponses er; + oadrDistributeEventType::oadrEvent_iterator itr; + + for (itr = ode->oadrEvent().begin(); itr != ode->oadrEvent().end(); itr++) + { + er.addEventResponse("200", "OK", itr->eiEvent().eventDescriptor().eventID(), itr->eiEvent().eventDescriptor().modificationNumber(), + OptTypeType::optIn, ode->requestID()); + } + + auto_ptr ce = ven.createdEvent("200", "OK", er); + + response = ce->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrResponse().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrResponse()->eiResponse().responseCode()); +} + +/********************************************************************************/ + +/** + * new opt schedule + */ +TEST_F(VEN2bTestSet, P1_2010_TH_VTN_1) { + + queryAndRegister(); + + auto_ptr cos = createOptSchedule_001(); + + oadrPayload *response = cos->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrCreatedOpt().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrCreatedOpt()->eiResponse().responseCode()); +} + +/********************************************************************************/ + +/** + * cancel opt schedule + */ +TEST_F(VEN2bTestSet, P1_2020_TH_VTN_1) { + + queryAndRegister(); + + auto_ptr cos = createOptSchedule_001(); + + /* + * cancel the schedule + */ + auto_ptr cancelOs = ven.cancelOptSchedule(cos->optSchedule().optID()); + + oadrPayload *response = cancelOs->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrCanceledOpt().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrCanceledOpt()->eiResponse().responseCode()); +} + +/********************************************************************************/ + +/** + * revised opt schedule + */ +TEST_F(VEN2bTestSet, P1_2030_TH_VTN_1) { + + queryAndRegister(); + + /* + * create an opt schedule + */ + auto_ptr cos = createOptSchedule_001(); + + oadrPayload *response = cos->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrCreatedOpt().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrCreatedOpt()->eiResponse().responseCode()); + + /* + * create revised schedule + */ + cos = createOptSchedule_002(); + + response = cos->response(); + + ASSERT_TRUE(response != NULL); + ASSERT_TRUE(response->oadrSignedObject().oadrCreatedOpt().present()); + ASSERT_EQ("200", response->oadrSignedObject().oadrCreatedOpt()->eiResponse().responseCode()); +} diff --git a/oadrtest/oadrtest/tests/XMLOutputTest.cpp b/oadrtest/oadrtest/tests/XMLOutputTest.cpp new file mode 100644 index 0000000..1f95970 --- /dev/null +++ b/oadrtest/oadrtest/tests/XMLOutputTest.cpp @@ -0,0 +1,398 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include + +#include +#include + +#include + +#include + +#include "../helper/LoadFile.h" + +/********************************************************************************/ + +TEST(XMLOutput, GenerateRequestEvent1) { + + RequestEvent re("venid", "requestID", 22); + + string output = re.generateRequestXML(); + string expectedOutput = LoadFile::loadExpectedOutputFile("request_event1.xml"); + + // cout << output << endl; + + EXPECT_EQ(expectedOutput, output); +} + +/********************************************************************************/ + +TEST(XMLOutput, CreateOptSchedule) { + + // 2013-12-30T16:19:58 (UTC) + time_t t_date = 1388420398; + + OptSchedule schedule(EiOptType::optType_type::optIn, OptReasonValue(OptReasonEnumeratedType::economic), "MarketContext1", "resourceid", "optid"); + + // create an opt schedule using all 3 'addAvailable' helper functions + // all three functions should result in the same start time and duration + schedule.addAvailable(2013, 12, 30, 16, 19, 58, 24, DurationModifier::HOURS); + schedule.addAvailable(1388420398, 24, DurationModifier::HOURS); + + tm tm_date; + gmtime_r(&t_date, &tm_date); + + schedule.addAvailable(tm_date, 24, DurationModifier::HOURS); + + // CreateOptSchedule cos("venid", "optid", EiOptType::optType_type::optIn, + // OptReasonEnumeratedType::economic, schedule, "requestID"); + + CreateOptSchedule cos("venid", schedule, "requestID"); + + + cos.createdDateTime(t_date); + + string output = cos.generateRequestXML(); + string expectedOutput = LoadFile::loadExpectedOutputFile("create_opt_schedule1.xml"); + + // cout << output << endl; + + EXPECT_EQ(expectedOutput, output); + +} + +/********************************************************************************/ + +TEST(XMLOutput, Currency) { + auto_ptr ct(new currencyType(oadr2b::oadr::currencyItemDescriptionType::currencyPerKW, + ::ISO42173A_2010_04_07::ISO3AlphaCurrencyCodeContentType::USD, + ::siscale::SiScaleCodeType::none)); + + xml_schema::namespace_infomap map; + stringstream ss; + + map[""].name = ""; + map[""].schema = ""; + + ::currency(ss, *ct.get(), map); + + cout << ss.str() << endl; +} + diff --git a/sample/.gitignore b/sample/.gitignore new file mode 100644 index 0000000..8abcbcf --- /dev/null +++ b/sample/.gitignore @@ -0,0 +1,3 @@ +/Debug +/Release +/mac-Debug diff --git a/sample/SConscript b/sample/SConscript new file mode 100644 index 0000000..741231b --- /dev/null +++ b/sample/SConscript @@ -0,0 +1,12 @@ +import glob +import os +import sconsHelper + +Import('cflags buildmode') + +cppPath = ['helper', '#oadr', '#oadrsd', '../xsd-4.0.0'] +libDir = ['../oadr/' + buildmode, '../oadrsd/' + buildmode] +libs = ['oadr', 'ssl', 'crypto', 'pthread', 'curl', 'xerces-c', 'oadrsd'] + +sconsHelper.build('sample', cppPath, cflags, libDir, libs, buildmode, "program") + diff --git a/sample/sample/ISO8601.cpp b/sample/sample/ISO8601.cpp new file mode 100644 index 0000000..f666c59 --- /dev/null +++ b/sample/sample/ISO8601.cpp @@ -0,0 +1,339 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "ISO8601.h" + +ISO8601::ISO8601() +{ +} + +/***********************************************************************************/ + +ISO8601::~ISO8601() +{ +} + +/***********************************************************************************/ + +/** + * convert duration into seconds + * duration should be an ISO8601 string: : http://en.wikipedia.org/wiki/ISO_8601 + */ +long int ISO8601::parseDurationTotalSeconds(string duration) +{ + return 10; +} diff --git a/sample/sample/ISO8601.h b/sample/sample/ISO8601.h new file mode 100644 index 0000000..9d73c80 --- /dev/null +++ b/sample/sample/ISO8601.h @@ -0,0 +1,337 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef ISO8601_H_ +#define ISO8601_H_ + +#include + +using namespace std; + +class ISO8601 { + +private: + ISO8601(); + +public: + + virtual ~ISO8601(); + + static long int parseDurationTotalSeconds(string duration); +}; + +#endif /* ISO8601_H_ */ diff --git a/sample/sample/LogMessage.cpp b/sample/sample/LogMessage.cpp new file mode 100644 index 0000000..8907c1e --- /dev/null +++ b/sample/sample/LogMessage.cpp @@ -0,0 +1,358 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "LogMessage.h" + +LogMessage::LogMessage() +{ +} + +LogMessage::~LogMessage() +{ +} + +/***********************************************************************************/ + +void LogMessage::logOadrRequest(Oadr2bRequest *request) +{ + ofstream log; + + log.open("comm.log", ios::out | ios::app); + + string currentTime = TimeHelper::currentTimeString("%Y-%m-%d %H:%M:%S"); + log << "### " << currentTime << endl; + + log << "### request (ven ---> vtn) ###" << endl; + log << request->requestBody() << endl; + + log << "### response (ven <--- vtn) ###" << endl; + log << request->responseBody() << endl; + + log << "######################################################\n\n"; + + log.close(); +} + +/***********************************************************************************/ + +void LogMessage::logMessage(string message) +{ + string currentTime = TimeHelper::currentTimeString("%Y-%m-%d %H:%M:%S"); + + cout << "[ " << currentTime << " ] [ MESSAGE ]: " << message << endl; +} + diff --git a/sample/sample/LogMessage.h b/sample/sample/LogMessage.h new file mode 100644 index 0000000..2eaedf2 --- /dev/null +++ b/sample/sample/LogMessage.h @@ -0,0 +1,341 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef LOGMESSAGES_H_ +#define LOGMESSAGES_H_ + +#include + +#include +#include +#include + +#include "TimeHelper.h" + +using namespace std; + +class LogMessage { +public: + LogMessage(); + virtual ~LogMessage(); + + static void logOadrRequest(Oadr2bRequest *request); + + static void logMessage(string message); +}; + +#endif /* LOGMESSAGES_H_ */ diff --git a/sample/sample/PrintResponseStatus.h b/sample/sample/PrintResponseStatus.h new file mode 100644 index 0000000..7676d1e --- /dev/null +++ b/sample/sample/PrintResponseStatus.h @@ -0,0 +1,388 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef PRINTRESPONSESTATUS_H_ +#define PRINTRESPONSESTATUS_H_ + +#include +#include +#include + +#include "LogMessage.h" + +using namespace std; + +class PrintResponseStatus { +private: + + PrintResponseStatus() {}; + +public: + virtual ~PrintResponseStatus() {}; + + /** + * use duck typing to print out the status of the message + * excpects one of the oadr* messages (oadrRequestEvent, oadrRegisterReport, etc) + * use Status2 if eiResponse is optional (DistributeEvent only) + * use Status1 with the _optional object as returned from oadrPayload->oadrSignedObject.* + */ + + template + static void printResponseStatus3(string message, T &val) + { + stringstream s; + + s << message << val.eiResponse().responseCode() << " " << val.eiResponse().responseDescription(); + + LogMessage::logMessage(s.str()); + } + + template + static void printResponseStatus2(string message, T &val) + { + stringstream s; + + s << message << val.eiResponse()->responseCode() << " " << val.eiResponse()->responseDescription(); + + LogMessage::logMessage(s.str()); + } + + /** + * expects an _optional oadr object + */ + template + static void printResponseStatus1(string message, T &val) + { + stringstream s; + + if (!val.present()) + { + s << message << "ERROR: expected message not received"; + + LogMessage::logMessage(s.str()); + + return; + } + + s << message << val->eiResponse().responseCode() << " " << val->eiResponse().responseDescription(); + + LogMessage::logMessage(s.str()); + } +}; + + +#endif /* PRINTRESPONSESTATUS_H_ */ diff --git a/sample/sample/TimeHelper.cpp b/sample/sample/TimeHelper.cpp new file mode 100644 index 0000000..9fb6eee --- /dev/null +++ b/sample/sample/TimeHelper.cpp @@ -0,0 +1,343 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "TimeHelper.h" + +TimeHelper::TimeHelper() +{ +} + +TimeHelper::~TimeHelper() +{ +} + +string TimeHelper::currentTimeString(string format) +{ + time_t now = time(0); + struct tm now_tm; + + char buff[80]; + + now_tm = *localtime(&now); + + // Visit http://en.cppreference.com/w/cpp/chrono/c/strftime + // for more information about date/time format + strftime(buff, sizeof(buff), format.c_str(), &now_tm); + + return buff; +} + diff --git a/sample/sample/TimeHelper.h b/sample/sample/TimeHelper.h new file mode 100644 index 0000000..10e1ddd --- /dev/null +++ b/sample/sample/TimeHelper.h @@ -0,0 +1,334 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef TIMEHELPER_H_ +#define TIMEHELPER_H_ + +#include +#include + +using namespace std; + +class TimeHelper { +public: + TimeHelper(); + virtual ~TimeHelper(); + + static string currentTimeString(string format); +}; + +#endif /* TIMEHELPER_H_ */ diff --git a/sample/sample/VENImpl.cpp b/sample/sample/VENImpl.cpp new file mode 100644 index 0000000..10bdb5c --- /dev/null +++ b/sample/sample/VENImpl.cpp @@ -0,0 +1,730 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include "VENImpl.h" + +VENImpl::VENImpl(string vtnURL, string venName) +{ + HttpCurl *curl = new HttpCurl(); + + // fill in the following parameters if SSL should be used + // All files should be in PEM format + // curl->setParameters("certPath", "privateKeyPath", "caBundle", true, "AES128-SHA256:ECDHE-ECDSA-AES128-SHA256", CURL_SSLVERSION_TLSv12); + + auto_ptr ven(new VEN2b(curl, vtnURL, venName)); + m_ven = ven; +} + +/***********************************************************************************/ + +VENImpl::~VENImpl() +{ +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrResponseType& message) +{ + PrintResponseStatus::printResponseStatus3("received oadrResponse: ", message); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrDistributeEventType& message) +{ + // eclipse marks these calls as an error, probably because printResponseStatus* are defined + // as static functions, yet we can have multiple implementations of the functions through + // templates + PrintResponseStatus::printResponseStatus2("received distributeEvent: ", message); + + EventResponses er; + oadrDistributeEventType::oadrEvent_iterator itr; + + // if no events were received, no need to send a createdEvent message + if (message.oadrEvent().size() == 0) + return; + + // + // the list of events should be saved and monitored + // when the start time is reached, the VEN would start controlling load + // + + // optIn to all events received + for (itr = message.oadrEvent().begin(); itr != message.oadrEvent().end(); itr++) + { + er.addEventResponse("200", "OK", itr->eiEvent().eventDescriptor().eventID(), itr->eiEvent().eventDescriptor().modificationNumber(), + OptTypeType::optIn, message.requestID()); + + eiEventSignalsType::eiEventSignal_iterator sig_itr; + + for (sig_itr = itr->eiEvent().eiEventSignals().eiEventSignal().begin(); sig_itr != itr->eiEvent().eiEventSignals().eiEventSignal().end(); sig_itr++) + { + intervals::interval_iterator int_itr; + + for (int_itr = sig_itr->intervals().interval().begin(); int_itr != sig_itr->intervals().interval().end(); int_itr++) + { + signalPayloadType *spt = &((signalPayloadType&)int_itr->streamPayloadBase().front()); + PayloadFloatType *pft = &(PayloadFloatType&)spt->payloadBase(); + + stringstream s; + s << " payload value: " << pft->value(); + + LogMessage::logMessage(s.str()); + } + } + } + + auto_ptr createdEvent = m_ven->createdEvent("200", "OK", er); + + PrintResponseStatus::printResponseStatus1("create event response: ", createdEvent->response()->oadrSignedObject().oadrResponse()); + + LogMessage::logOadrRequest(createdEvent.get()); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrCreateReportType& message) +{ + LogMessage::logMessage("received createReport"); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrRegisterReportType& message) +{ + + LogMessage::logMessage("received registerReport"); + + // we don't support receiving reports from the VTN so there's no need to check if any reports + // exists in the VTN + auto_ptr registeredReport = m_ven->registeredReport(message.requestID(), "200", "OK"); + + PrintResponseStatus::printResponseStatus1("registered report response: ", registeredReport->response()->oadrSignedObject().oadrResponse()); + + LogMessage::logOadrRequest(registeredReport.get()); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrCancelReportType& message) +{ + LogMessage::logMessage("received cancelReport"); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrUpdateReportType& message) +{ + LogMessage::logMessage("received updateReport"); +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrCancelPartyRegistrationType& message) +{ + LogMessage::logMessage("received cancelPartyRegistration"); + + // TODO: send ven->cancelPartyRegistration() +} + +/***********************************************************************************/ + +void VENImpl::processMessage(oadrRequestReregistrationType& message) +{ + LogMessage::logMessage("received requestReregistration"); +} + +/***********************************************************************************/ + +string VENImpl::venID() +{ + return m_venID; +} + +/***********************************************************************************/ + +string VENImpl::registrationID() +{ + return m_registrationID; +} + +/***********************************************************************************/ + +string VENImpl::vtnID() +{ + return m_vtnID; +} + +/***********************************************************************************/ + +bool VENImpl::queryRegistration() +{ + auto_ptr queryRegistration = m_ven->queryRegistration(); + + LogMessage::logOadrRequest(queryRegistration.get()); + + oadrPayload *response = queryRegistration->response(); + + if (response == NULL || !response->oadrSignedObject().oadrCreatedPartyRegistration().present()) + { + LogMessage::logMessage("queryRegistration received unexpected payload"); + LogMessage::logMessage(queryRegistration->responseBody()); + + return false; + } + + oadrCreatedPartyRegistrationType *cpr = &response->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + if (cpr->eiResponse().responseCode().compare("200") != 0) + { + LogMessage::logMessage("queryRegistration received unexpected response code: "); + LogMessage::logMessage(cpr->eiResponse().responseCode()); + + return false; + } + + return true; +} + +/***********************************************************************************/ + +bool VENImpl::registerVEN() +{ + stringstream s; + + // register as an HTTP pull VEN + auto_ptr createPartyRegistration = m_ven->createPartyRegistration(oadrProfileType(oadrProfileType::cxx_2_0b), + oadrTransportType(oadrTransportType::simpleHttp), "", false, false, true); + + LogMessage::logOadrRequest(createPartyRegistration.get()); + + oadrPayload *response = createPartyRegistration->response(); + + if (response == NULL || !response->oadrSignedObject().oadrCreatedPartyRegistration().present()) + { + s << "received unexpected payload" << endl << createPartyRegistration->responseBody(); + + LogMessage::logMessage(s.str()); + + return false; + } + + oadrCreatedPartyRegistrationType *cpr = &response->oadrSignedObject().oadrCreatedPartyRegistration().get(); + + if (cpr->eiResponse().responseCode().compare("200") != 0) + { + s << "received unexpected response code: " << cpr->eiResponse().responseCode() << endl; + LogMessage::logMessage(s.str()); + + return false; + } + + // valid registration received; pull out the registration ID, VEN ID and VTN ID + m_registrationID = *cpr->registrationID(); + m_venID = *cpr->venID(); + m_vtnID = cpr->vtnID(); + + s << "registered with VTN\n registration ID: " << m_registrationID << "\n ven ID: " << m_venID << "\n vtn ID: " + << m_vtnID; + + LogMessage::logMessage(s.str()); + + m_pollFrequency = cpr->oadrRequestedOadrPollFreq()->duration(); + + registerReports(); + + poll(); + + requestEvents(); + + return true; +} + +/***********************************************************************************/ + +/** + * Registers two reports: + * 1) TELEMETRY_USAGE with 2 data points. One point is an "interval" (covers a timespan) and one is a "data point" (instantaneous) + * (see conformance rule 342 for defintions of interval and point data) + * + * 2) TELEMETRY_STATUS: contains only status points + * + * At a minimum, a 2.0b VEN must support the TELEMETRY_STATUS report according to the profile doces, + * but I *think* certification also requires testing TELEMETRY_USAGE reports + */ +bool VENImpl::registerReports() +{ + oadrReportType::oadrReportDescription_sequence sequence; + + time_t now = 1406066761; + + // + // generate the report description for the telemetry usage report + // + oadrReportDescriptionType energy = ReportHelper::generateDescriptionEnergyItem("rid1", "resourceID1", ReportEnumeratedType::reading, + ReadingTypeEnumeratedType::Direct_Read, "http://MarketContext1", 5, 5, false, DurationModifier::MINUTES, + ReportHelper::eEnergyReal, "kWh", SiScaleCodeType::none); + + + oadrReportDescriptionType power = ReportHelper::generateDescriptionPowerItem("rid2", "resourceID1", ReportEnumeratedType::reading, + ReadingTypeEnumeratedType::Direct_Read, "http://MarketContext1", 5, 5, false, DurationModifier::MINUTES, + ReportHelper::ePowerReal, "kW", SiScaleCodeType::none, 60.0, 120, true); + + sequence.push_back(energy); + sequence.push_back(power); + + oadrReportType telemetryUsage = ReportHelper::generateReportDescription(ReportName::TELEMETRY_USAGE, 120, DurationModifier::MINUTES, + "1234", now, sequence); + + + // + // generate the report description for the telemetry status report + // + oadrReportDescriptionType status = ReportHelper::generateDescriptionResourceStatus("rid3", "resoruceID1", "http://MarketContext1", + 5, 5, false, DurationModifier::MINUTES); + + sequence.clear(); + + sequence.push_back(status); + + oadrReportType telemetryStatus = ReportHelper::generateReportDescription(ReportName::TELEMETRY_STATUS, 120, DurationModifier::MINUTES, + "5678", now, sequence); + + oadrRegisterReportType::oadrReport_sequence reports; + + reports.push_back(telemetryUsage); + reports.push_back(telemetryStatus); + + auto_ptr registerReport = m_ven->registerReport(reports); + + PrintResponseStatus::printResponseStatus1("registered reports: ", registerReport->response()->oadrSignedObject().oadrRegisteredReport()); + + LogMessage::logOadrRequest(registerReport.get()); + + return true; +} + +/***********************************************************************************/ + +bool VENImpl::requestEvents() +{ + auto_ptr requestEvents = m_ven->requestEvent(RandomHex::instance()->generateRandomHex(), -1); + + LogMessage::logOadrRequest(requestEvents.get()); + + oadrPayload *response = requestEvents->response(); + + if (response == NULL || !response->oadrSignedObject().oadrDistributeEvent().present()) + { + stringstream s; + + s << "received unexpected payload" << endl << requestEvents->responseBody(); + + LogMessage::logMessage(s.str()); + + return false; + } + + processMessage(response->oadrSignedObject().oadrDistributeEvent().get()); + + return true; +} + +/***********************************************************************************/ + +bool VENImpl::poll() +{ + auto_ptr poll = m_ven->poll(); + + LogMessage::logOadrRequest(poll.get()); + + oadrPayload *response = poll->response(); + + if (response == NULL) + { + stringstream s; + + s << "invalid response from poll: " << poll->responseBody() << endl; + + LogMessage::logMessage(s.str()); + + return false; + } + + if (response->oadrSignedObject().oadrResponse().present()) + { + processMessage(response->oadrSignedObject().oadrResponse().get()); + + } + else if (response->oadrSignedObject().oadrDistributeEvent().present()) + { + processMessage(response->oadrSignedObject().oadrDistributeEvent().get()); + + } + else if (response->oadrSignedObject().oadrCreateReport().present()) + { + processMessage(response->oadrSignedObject().oadrCreateReport().get()); + + } + else if (response->oadrSignedObject().oadrRegisterReport().present()) + { + processMessage(response->oadrSignedObject().oadrRegisterReport().get()); + + } + else if (response->oadrSignedObject().oadrCancelReport().present()) + { + processMessage(response->oadrSignedObject().oadrCancelReport().get()); + + } + else if (response->oadrSignedObject().oadrUpdateReport().present()) + { + processMessage(response->oadrSignedObject().oadrUpdateReport().get()); + + } + else if (response->oadrSignedObject().oadrCancelPartyRegistration().present()) + { + processMessage(response->oadrSignedObject().oadrCancelPartyRegistration().get()); + + } + else if (response->oadrSignedObject().oadrRequestReregistration().present()) + { + registerVEN(); + } + else + { + stringstream s; + + s << "invalid message received" << endl; + + LogMessage::logMessage(s.str()); + + return false; + } + + return true; +} + + +/***********************************************************************************/ + +string VENImpl::pollFrequency() +{ + return m_pollFrequency; +} + + +/***********************************************************************************/ diff --git a/sample/sample/VENImpl.h b/sample/sample/VENImpl.h new file mode 100644 index 0000000..a0ff2bd --- /dev/null +++ b/sample/sample/VENImpl.h @@ -0,0 +1,370 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#ifndef VENIMPL_H_ +#define VENIMPL_H_ + +#include +#include +#include +#include + +#include "PrintResponseStatus.h" +#include "LogMessage.h" + +class VENImpl { + +private: + auto_ptr m_ven; + + string m_venID; + string m_registrationID; + string m_vtnID; + + string m_pollFrequency; + + void processMessage(oadrResponseType& message); + void processMessage(oadrDistributeEventType& message); + void processMessage(oadrCreateReportType& message); + void processMessage(oadrRegisterReportType& message); + void processMessage(oadrCancelReportType& message); + void processMessage(oadrUpdateReportType& message); + void processMessage(oadrCancelPartyRegistrationType& message); + void processMessage(oadrRequestReregistrationType& message); + +public: + VENImpl(string vtnURL, string venName); + virtual ~VENImpl(); + + string venID(); + string registrationID(); + string vtnID(); + + bool queryRegistration(); + + bool registerVEN(); + + bool registerReports(); + + bool requestEvents(); + + bool poll(); + + string pollFrequency(); +}; + +#endif /* VENIMPL_H_ */ diff --git a/sample/sample/main.cpp b/sample/sample/main.cpp new file mode 100644 index 0000000..855caf1 --- /dev/null +++ b/sample/sample/main.cpp @@ -0,0 +1,365 @@ +//********************************************************************************************************************* +// Copyright (c) 2013, Electric Power Research Institute (EPRI) +// All rights reserved. +// +// liboadr ("this software") is licensed under BSD 3-Clause license. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the name of EPRI nor the names of its contributors may +// be used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +// OF SUCH DAMAGE. +// +// This EPRI software incorporates work covered by the following copyright and permission +// notices. You may not use these works except in compliance with their respective +// licenses, which are provided below. +// +// These works are provided by the copyright holders and contributors "as is" and any express or +// implied warranties, including, but not limited to, the implied warranties of merchantability +// and fitness for a particular purpose are disclaimed. +// +// This software relies on the following libraries and licenses: +// +// ######################################################################################### +// FLOSSE (released under the FLOSS exception w/a proprietary license) +// ######################################################################################### +// +// This software relies on the Code Synthesis XSD generated code and the XSD runtime, +// hereforto referred to as libxsd. The generated code can be found under the oadrsd directory. +// The XSD headers and runtime can be found under the xsd directory. libxsd is released under +// the GPLv2 but is used and included in the source tree in compliance with a proprietary +// license, purchased from Code Synthesis, the copyright holder of libxsd. This license +// allows EPRI to release liboadr under the BSD-3 Clause license and non-virally include +// libxsd +// +// YOU MAY USE liboadr UNDER THE TERMS OF THE BSD-3 CLAUSE LICENSE, BUT YOU MAY NOT SEPARATE +// THE libxsd COMPONENTS AND USE libxsd IN YOUR OWN PROJECT USING THE BSD-3 CLAUSE LICENSE. +// +// * xsd generated code and runtime (version xsd-3.3.0-x86_64-linux-gnu) (http://www.codesynthesis.com/) Copyright (c) 2005-2010 Code Synthesis Tools CC +// +// 1. Intent +// +// We want specified Free/Libre and Open Source Software ("FLOSS") to be +// able to use the specified GPL-licensed XSD runtime library (libxsd) and +// XSD generated code (collectively called the "Program") despite the fact +// that not all FLOSS licenses are compatible with version 2 of the GNU +// General Public License (the "GPL"). +// +// It is our intent to allow distribution of the entire Derivative Work +// (including the Program) under one or more of the FLOSS licenses listed +// in section 3 (section 2.a). It is also our intent to disallow simple +// relicensing of the Program for the sole purpose of using it in +// proprietary applications (section 2.b and 2.c). As an example, consider +// two hypothetical scenarios: +// +// a) You created a program that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. +// Your program performs useful computations based on this information +// (sections 2.b and 2.c are satisfied). You distribute your program, +// including the XSD generated code and the XSD runtime library under +// the BSD license and make it available at no charge to all third +// parties (section 2.a is satisfied). Later you (or someone else) may +// choose to base their proprietary application on your code since the +// BSD license does not prohibit it. +// +// This scenario falls under this FLOSS Exception. +// +// +// b) You created a library that uses the XSD generated code and the XSD +// runtime library to access information in XML instance documents. You +// did not add to the library any other useful code that uses the XSD +// generated code or the XSD runtime library (neither section 2.b nor +// 2.c is satisfied). You distribute your library, including the XSD +// generated code and the XSD runtime library under the BSD license and +// make it available at no charge to all third parties (section 2.a +// is satisfied). Later you base your proprietary application on this +// library since the BSD license does not prohibit it. +// +// This scenario does not fall under this FLOSS Exception (neither +// section 2.b nor 2.c is satisfied). You created the library for the +// sole purpose of making the XSD generated code and the XSD runtime +// library available to your proprietary application. +// +// +// 2. Legal Terms and Conditions +// +// As a special exception to the terms and conditions of version 2 of +// the GPL you are free to distribute a verbatim copy of the Program +// as part of the Derivative Work that is formed from the Program or +// any part thereof and one or more works (each, a "FLOSS Work") as +// long as you also meet all of these conditions: +// +// a) You must cause the Derivative Work that in whole or in part +// contains or is derived from the Program or any part thereof, +// to be licensed as a whole at no charge to all third parties +// under the terms of one or more of the licenses listed in +// section 3. +// +// b) The Derivative Work should contain one or more FLOSS Work that +// can be reasonably considered as derived from the Program or some +// part thereof. +// +// c) The Derivative Work should not contain any part of the Program +// that cannot be reasonably considered as a base of one or more +// FLOSS Work. +// +// +// 3. FLOSS License List +// +// a) Any license listed in the "GPL-Compatible Free Software Licenses" +// and the "GPL-Incompatible Free Software Licenses" sections of the +// License List as published by the Free Software Foundation (FSF): +// +// http://www.gnu.org/licenses/license-list.html +// +// +// 4. Definitions +// +// Terms used, but not defined, herein shall have the meaning provided in +// the GPL. +// +// Derivative Work means a derivative work under copyright law. +// +// +// 5. Applicability +// +// You may choose to redistribute a copy of the Program exclusively under +// the terms of the GPL by removing the FLOSS Exception notice from that +// copy of the Program. +// +// ######################################################################################### +// MIT/X +// ######################################################################################### +// +// * libcurl (http://curl.haxx.se/) Copyright (c) 1996 - 2014, Daniel Stenberg, . +// +// All rights reserved. +// +// Permission to use, copy, modify, and distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright +// notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. +// +// Except as contained in this notice, the name of a copyright holder shall not +// be used in advertising or otherwise to promote the sale, use or other dealings +// in this Software without prior written authorization of the copyright holder. +// +// ######################################################################################### +// APACHE 2.0 Licensed Libraries +// ######################################################################################### +// +// * xerces Copyright (c) 1999-2010 The Apache Software Foundation. All Rights Reserved. +// +// Licensed 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. +// +// ######################################################################################### +// Dual OpenSSL and SSLeay +// ######################################################################################### +// +// * OpenSSL (https://www.openssl.org/) Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// /* ==================================================================== +// Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in +// the documentation and/or other materials provided with the +// distribution. +// +// 3. All advertising materials mentioning features or use of this +// software must display the following acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit. (http://www.openssl.org/)" +// +// 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to +// endorse or promote products derived from this software without +// prior written permission. For written permission, please contact +// openssl-core@openssl.org. +// +// 5. Products derived from this software may not be called "OpenSSL" +// nor may "OpenSSL" appear in their names without prior written +// permission of the OpenSSL Project. +// +// 6. Redistributions of any form whatsoever must retain the following +// acknowledgment: +// "This product includes software developed by the OpenSSL Project +// for use in the OpenSSL Toolkit (http://www.openssl.org/)" +// +// THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +// EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +// ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +// ==================================================================== +// +// This product includes cryptographic software written by Eric Young +// (eay@cryptsoft.com). This product includes software written by Tim +// Hudson (tjh@cryptsoft.com). +// +// +// +// Original SSLeay License +// ----------------------- +// +// Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +// All rights reserved. +// +// This package is an SSL implementation written +// by Eric Young (eay@cryptsoft.com). +// The implementation was written so as to conform with Netscapes SSL. +// +// This library is free for commercial and non-commercial use as long as +// the following conditions are aheared to. The following conditions +// apply to all code found in this distribution, be it the RC4, RSA, +// lhash, DES, etc., code; not just the SSL code. The SSL documentation +// included with this distribution is covered by the same copyright terms +// except that the holder is Tim Hudson (tjh@cryptsoft.com). +// +// Copyright remains Eric Young's, and as such any Copyright notices in +// the code are not to be removed. +// If this package is used in a product, Eric Young should be given attribution +// as the author of the parts of the library used. +// This can be in the form of a textual message at program startup or +// in documentation (online or textual) provided with the package. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// "This product includes cryptographic software written by +// Eric Young (eay@cryptsoft.com)" +// The word 'cryptographic' can be left out if the rouines from the library +// being used are not cryptographic related :-). +// 4. If you include any Windows specific code (or a derivative thereof) from +// the apps directory (application code) you must include an acknowledgement: +// "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" +// +// THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// The licence and distribution terms for any publically available version or +// derivative of this code cannot be changed. i.e. this code cannot simply be +// copied and put under another distribution licence +// [including the GNU Public Licence.] +// +// +// ######################################################################################### +// NEW BSD LICENSE (BSD-3-Clause) +// ######################################################################################### +// +// * gtest (https://code.google.com/p/googletest/) Copyright 2005 Google Inc. All rights reserved. +// + +#include + +#include "VENImpl.h" +#include "ISO8601.h" + +const char* VEN_NAME = "Test_VEN_Name"; +const char* VTN_URL = "http://localhost:8080/OpenADR2/Simple/2.0b"; + +using namespace std; + +int main() +{ + try + { + VENImpl ven(VTN_URL, VEN_NAME); + + if (!ven.queryRegistration()) + return 0; + + if (!ven.registerVEN()) + return 0; + + // TODO: calculate the number of seconds to sleep between polls from + // the duration + // The string is formatted according to the format here: http://en.wikipedia.org/wiki/ISO_8601 + // PT5S: 5 seconds + string pollFrequency = ven.pollFrequency(); + + int pollFrequencySeconds = ISO8601::parseDurationTotalSeconds(pollFrequency); + + while (1) + { + LogMessage::logMessage("polling ..."); + + ven.poll(); + + LogMessage::logMessage("sleeping"); + + sleep(pollFrequencySeconds); + } + } + catch (CurlException& ex) + { + cout << "caught exception: " << ex.what() << endl; + } + + return 0; +} diff --git a/schema/2b/build.sh b/schema/2b/build.sh new file mode 100644 index 0000000..9f7b3bf --- /dev/null +++ b/schema/2b/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# the following command will generate c++ source files from the OADR 2.0b schema files +# 'xsd' from code synthesys must be in your path +xsd cxx-tree --file-per-type --generate-serialization --generate-polymorphic --polymorphic-type-all --output-dir ../../oadrsd/oadrsd/2b/ --namespace-map http://openadr.org/oadr-2.0b/2012/07=oadr2b::oadr --namespace-map http://docs.oasis-open.org/ns/energyinterop/201110=oadr2b::ei --namespace-map http://www.opengis.net/gml/3.2=oadr2b::gml --namespace-map http://docs.oasis-open.org/ns/emix/2011/06=oadr2b::emix --namespace-map http://www.w3.org/2009/xmldsig11#=oadr2b::dsig11 --namespace-map http://www.w3.org/2000/09/xmldsig#=oadr2b::sig --namespace-map http://openadr.org/oadr-2.0b/2012/07/xmldsig-properties=oadr2b::dsp oadr_20b.xsd oadr_atom.xsd oadr_ei_20b.xsd oadr_emix_20b.xsd oadr_gml_20b.xsd oadr_greenbutton.xsd oadr_ISO_ISO3AlphaCurrencyCode_20100407.xsd oadr_power_20b.xsd oadr_pyld_20b.xsd oadr_siscale_20b.xsd oadr_strm_20b.xsd oadr_xcal_20b.xsd oadr_xml.xsd oadr_xmldsig-properties-schema.xsd oadr_xmldsig.xsd oadr_xmldsig11.xsd + diff --git a/schema/2b/instance1.xml b/schema/2b/instance1.xml new file mode 100644 index 0000000..12aaa92 --- /dev/null +++ b/schema/2b/instance1.xml @@ -0,0 +1,23 @@ + + + currency + AED + p + diff --git a/schema/2b/oadr_20b.xsd b/schema/2b/oadr_20b.xsd new file mode 100644 index 0000000..d33d534 --- /dev/null +++ b/schema/2b/oadr_20b.xsd @@ -0,0 +1,966 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Send DR Events to a VEN + + + + + + + + + + An object containing a demand response event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel an opt schedule + + + + + + + + + + + + + + Acknowledge cancelation of an opt schedule + + + + + + + + + + + + + Create an optIn or optOut schedule + + + + + + + + + + + + + + + + + + Acknowledge receipt of an opt schedule + + + + + + + + + + + + + + Cancel a report + + + + + + + + + + + + + + + + + + + + + + + + + Request report from other party + + + + + + + + Request report + + + + + + + + + + Acknowledge the request for report was received + + + + + + + + List of periodic reports that have not yet been delivered + + + + + + + + + + Register Metadata report settings with other party + + + + + + + + + + + + + + + Acknowledge registration of Metadata report by other party + + + + + + + + + + + + + + Send a previously requested report + + + + + + + + + + + + + + Acknowledge receipt of a report + + + + + + + + + + + + + + + Cancel a registration + + + + + + + + + + + + + + Acknowledge cancelation of registration + + + + + + + + + + + + + + Used by VEN to initiate registration with VTN + + + + + + + + Used for re-registering an existing registration + + + + + + + + Address of this VEN. Not required if http pull model + + + + + ReportOnlyDeviceFlag - True or False + + + + + Implementation supports XML signatures - True or False + + + + + Human readable name for VEN + + + + + If transport is simpleHttp indicate if VEN is operating in pull exchange model - true or false + + + + + + + + + Acknowledge receipt of VEN registration, provide VTN registration info + + + + + + + + + venID not included in query unless already registered + + + + + + VTN response to query registration returns all supported. This element is not required for a registration response + + + + + HTTP Pull Only - The VEN shall send an oadrPoll payload to the VTN at most once for each duration specified by this element + + + + + + + + + + + + + + + + + + + + + + + + Used by VTN to request that the VEN reregister + + + + + + + + + + + + Query VTN for registration information without actually registering + + + + + + + + + + + + + Query pull VTN for payloads with new or modified information + + + + + + + + + + + + + + VEN name. May be used in VTN GUI + + + + + + OpenADR profiles supported by the implementation + + + + + + + + + + + + + + + + + OpenADR profile name such as 2.0a or 2.0b. + + + + + + + + + + + + OpenADR transports supported by implementation + + + + + + + + + + + + + + + + OpenADR transport name such as simpleHttp or xmpp + + + + + + + + + + + + + Service specific registration information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A key value pair of service specific registration information + + + + + + + + + + + + Implementation supports XML signature + + + + + + ReportOnlyDeviceFlag + + + + + + Root address used to communicate with other party. Should include port if required + + + + + + The VEN shall send an oadrPoll payload to the VTN at most once for each duration specified by this element + + + + + + Controls when optIn/optOut repsonse is required. Can be always or never + + + + + Defines what type of response is required + + + + + Always send a response for every event received. + + + + + Never respond. + + + + + + + + + + + + + + + + + Custom Units + + + + + + + + + + + + + + + + Current + + + + + + + + + + + + + + + + + + + currency + + + + + + + + ISO enumeration of currency types, such as USD + + + + + + + + + + + + + + + + + + + Frequency + + + + + + + + + + + + + + + + Therm + + + + + + + + + + + + + + + + temperature + + + + + + + + Temperature in Celsius or Fahrenheit + + + + + + + + + + + + + + + + + + kWh per count + + + + + Pulse Count + + + + + + + + Pulse count from meter + + + + + + + + + + + + This type is used to request an EiReport + + + + + + + + + + + eiReport is a Stream of [measurements] recorded over time and delivered to the requestor periodically. The readings may be actual, computed, summed if derived in some other manner. + + + + + + + reference ID to this report. + + + + + Define data points the implementation is capable of reporting on. Only used in Metadata report + + + + + Reference to the oadrCreateReport request that defined this report. + + + + + Reference to Metadata report from which this report was derived. + + + + + Name possibly for use in a user interface. + + + + + + + + + + + + Describes the subject and attributes of a report. + + + + + + + + + What is measured or tracked in this report (Units). + + + + + + + + + + + + Minimum sampling period + + + + + Maximum sampling period + + + + + If true then the data will be recorded when it changes, but at no greater a frequency than that specified by minPeriod. + + + + + + + Sampling rate for telemetry type data + + + + + Current resource status information + + + + + This is the payload for reports that require a status. + + + + + + + If true then resource/asset is online, if false then offline. + + + + + If true then the control of the load has been manually overridden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device Class target - use only endDeviceAsset. + + + + + + Data point values for reports + + + + + Report payload for use in reports. + + + + + + + Enumerated value for the quality of this data item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.xsd b/schema/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.xsd new file mode 100644 index 0000000..4065c76 --- /dev/null +++ b/schema/2b/oadr_ISO_ISO3AlphaCurrencyCode_20100407.xsd @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + UAE Dirham +Afghani +Lek +Armenian Dram +Netherlands Antillian Guilder +Kwanza +Argentine Peso +Australian Dollar +Aruban Guilder +Azerbaijanian Manat +Convertible Marks +Barbados Dollar +Taka +Bulgarian Lev +Bahraini Dinar +Burundi Franc +Bermudian Dollar (customarily known as Bermuda Dollar) +Brunei Dollar +Boliviano +Mvdol +Brazilian Real +Bahamian Dollar +Ngultrum +Pula +Belarussian Ruble +Belize Dollar +Canadian Dollar +Congolese Franc +WIR Euro +Swiss Franc +WIR Franc +Unidades de fomento +Chilean Peso +Yuan Renminbi +Colombian Peso +Unidad de Valor Real +Costa Rican Colon +Peso Convertible +Cuban Peso +Cape Verde Escudo +Czech Koruna +Djibouti Franc +Danish Krone +Dominican Peso +Algerian Dinar +Kroon +Egyptian Pound +Nakfa +Ethiopian Birr +Euro +Fiji Dollar +Falkland Islands Pound +Pound Sterling +Lari +Cedi +Gibraltar Pound +Dalasi +Guinea Franc +Quetzal +Guinea-Bissau Peso +Guyana Dollar +Hong Kong Dollar +Lempira +Croatian Kuna +Gourde +Forint +Rupiah +New Israeli Sheqel +Indian Rupee +Iraqi Dinar +Iranian Rial +Iceland Krona +Jamaican Dollar +Jordanian Dinar +Yen +Kenyan Shilling +Som +Riel +Comoro Franc +North Korean Won +Won +Kuwaiti Dinar +Cayman Islands Dollar +Tenge +Kip +Lebanese Pound +Sri Lanka Rupee +Liberian Dollar +Loti +Lithuanian Litas +Latvian Lats +Libyan Dinar +Moroccan Dirham +Moroccan Dirham +Moldovan Leu +Malagasy Ariary +Denar +Kyat +Tugrik +Pataca +Ouguiya +Mauritius Rupee +Rufiyaa +Kwacha +Mexican Peso +Mexican Unidad de Inversion (UDI) +Malaysian Ringgit +Metical +Namibia Dollar +Naira +Cordoba Oro +Norwegian Krone +Nepalese Rupee +New Zealand Dollar +Rial Omani +Balboa +Nuevo Sol +Kina +Philippine Peso +Pakistan Rupee +Zloty +Guarani +Qatari Rial +New Leu +Serbian Dinar +Russian Ruble +Rwanda Franc +Saudi Riyal +Solomon Islands Dollar +Seychelles Rupee +Sudanese Pound +Swedish Krona +Singapore Dollar +Saint Helena Pound +Leone +Somali Shilling +Surinam Dollar +Dobra +El Salvador Colon +Syrian Pound +Lilangeni +Baht +Somoni +Manat +Tunisian Dinar +Pa'anga +Turkish Lira +Trinidad and Tobago Dollar +New Taiwan Dollar +Tanzanian Shilling +Hryvnia +Uganda Shilling +US Dollar +US Dollar (Next day) +US Dollar (Same day) +Uruguay Peso en Unidades Indexadas +Peso Uruguayo +Uzbekistan Sum +Bolivar Fuerte +Dong +Vatu +Tala +CFA Franc BEAC +Silver +Gold +Bond Markets Units European Composite Unit (EURCO) +European Monetary Unit (E.M.U.-6) +European Unit of Account 9(E.U.A.-9) +European Unit of Account 17(E.U.A.-17) +East Caribbean Dollar +SDR +UIC-Franc +CFA Franc BCEAO † +Palladium +CFP Franc +CFP Franc +CFP Franc +Platinum +Codes specifically reserved for testing purposes +The codes assigned for transactions where no currency is involved are: +Yemeni Rial +Rand +Zambian Kwacha +Zimbabwe Dollar + + + + diff --git a/schema/2b/oadr_atom.xsd b/schema/2b/oadr_atom.xsd new file mode 100644 index 0000000..2c2f267 --- /dev/null +++ b/schema/2b/oadr_atom.xsd @@ -0,0 +1,238 @@ + + + + + This version of the Atom schema is based on version 1.0 of the format specifications, + found here http://www.atomenabled.org/developers/syndication/atom-format-spec.php. + + + + + + An Atom document may have two root elements, feed and entry, as defined in section 2. + + + + + + + + The Atom text construct is defined in section 3.1 of the format spec. + + + + + + + + + + + + + + + + + + + + The Atom person construct is defined in section 3.2 of the format spec. + + + + + + + + + + + + + + Schema definition for an email address. + + + + + + + + + + The Atom feed construct is defined in section 4.1.1 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + The Atom entry construct is defined in section 4.1.2 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + The Atom content construct is defined in section 4.1.3 of the format spec. + + + + + + + + + + + + + The Atom category construct is defined in section 4.2.2 of the format spec. + + + + + + + + + + + The Atom generator element is defined in section 4.2.4 of the format spec. + + + + + + + + + + + + + + The Atom icon construct is defined in section 4.2.5 of the format spec. + + + + + + + + + + + + The Atom id construct is defined in section 4.2.6 of the format spec. + + + + + + + + + + + + The Atom link construct is defined in section 3.4 of the format spec. + + + + + + + + + + + + + + The Atom logo construct is defined in section 4.2.8 of the format spec. + + + + + + + + + + + + The Atom source construct is defined in section 4.2.11 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_ei_20b.xsd b/schema/2b/oadr_ei_20b.xsd new file mode 100644 index 0000000..80cf260 --- /dev/null +++ b/schema/2b/oadr_ei_20b.xsd @@ -0,0 +1,1012 @@ + + + + + + + + + + + + + + + + No event pending + + + + + Event pending in the far future. The exact definition of how far in the future this refers is dependent upon the market context, but typically means the next day. + + + + + Event pending in the near future. The exact definition of how near in the future the pending event is active is dependent on the market context. + + + + + The event has been initiated and is currently active. + + + + + The event has completed. + + + + + The event has been canceled. + + + + + + + + + + + + + + + Pattern used for extending string enumeration, where allowed. + + + + + + + + + + + + + An ID value that identifies a specific DR event instance. + + + + + + Incremented each time an event is modified. + + + + + + + + Fully qualified event ID includes the eventID and the modificationNumber. + + + + + + + + + + The VEN should receive the DR event payload prior to dtstart minus this duration. + + + + + + A duration before or after the event start time during which load shed should transit. + + + + + + A duration before or after the event end time during which load shed should transit. + + + + + + + + + + + + + + + + The payloadFloat value of the event interval currently executing. + + + + + + + + + + + + Base for information in signal / baseline / report payloads + + + + + Data point value for event signals or for reporting current or historical values. + + + + + This is the payload for signals that require a quantity. + + + + + + + + + + + + + + A 3 digit response code + + + + + + Similar to HTTP 1.1 Error Pattern, 1st digit sufficient for most error processing + - 1xx: Informational - Request received, continuing process + - 2xx: Success - The action was successfully received, understood, and accepted + - 3xx: Pending - Further action must be taken in order to complete the request + - 4xx: Requester Error - The request contains bad syntax or cannot be fulfilled + - 5xx: Responder Error - The responder failed to fulfill an apparently valid request + xx is used for defining more fine grained errors + + + + + + + + + + Narrative description of response status + + + + + + optIn or optOut of an event + + + + + + + + + + + + Indicate whether received payload is acceptable + + + + + + + + + + + + + optIn or optOut responses for received events + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Time frames relevant to the overall event + + + + + + + + + + + + An enumerated value describing the type of signal such as level or price + + + + + + SignalTypeEnumerated lists the pre-defined types used to specify the payload types and conformance in a stream + + + + + Signal indicates the amount to change from what one would have used without the signal. + + + + + Signal indicates a program level. + + + + + Signal indicates a multiplier applied to the current rate of delivery or usage from what one would have used without the signal. + + + + + Signal indicates the price. + + + + + Signal indicates the price multiplier. Extended price is the computed price value multiplied by the number of units. + + + + + Signal indicates the relative price. + + + + + Signal indicates a target amount of units. + + + + + This is an instruction for the load controller to operate at a level that is some percentage of its maximum load consumption capacity. This can be mapped to specific load controllers to do things like duty cycling. Note that 1.0 refers to 100% consumption. In the case of simple ON/OFF type devices then 0 = OFF and 1 = ON. + + + + + Discrete integer levels that are relative to normal operations where 0 is normal operations. + + + + + Percentage change from normal load control operations. + + + + + Load controller set points. + + + + + + + + + + Collection of Responses. When a service operation regards multiple referenceable items, each referenced item may have its own response. Always accompanied by an overall Response Type. + + + + + + + + + Information about the event + + + + + + + + + When an event is modified + + + + + Why an event was modified + + + + + The priority of the event in relation to other events (The lower the number higher the priority. A value of zero (0) indicates no priority, which is the lowest priority by default). + + + + + + + + + + + + + An indication of the event state: far, near, active, canceled, completed + + + + + Anything other than false indicates a test event + + + + + Any text + + + + + + + Signal values for events and baselines + + + + + + + + + + + + + + + The dateTime the payload was created + + + + + + Identifies the resources associated with the logical VEN interface. For events, the values specified are the target for the event + + + + + + + + + + + + + + + + + + + + + + + + + + + Optionally identifies the device class associated with the signal. Only the endDeviceAsset subelement is used + + + + + Descriptive name for signal. + + + + + + unique Identifier for a specific event signal + + + + + This is the unit of the signal. + + + + + + + + + Signal name. + + + + + + + + + Simple levels (OpenADR 2.0a compliant) + + + + + depreciated - for backwards compatibility with A profile + + + + + This is the cost of electricity + + + + + This is the cost of energy + + + + + This is the demand charge + + + + + This is the price that was bid by the resource + + + + + This is the amount of load that was bid by a resource into a program + + + + + This is the amount of energy from a resource that was bid into a program + + + + + State of energy storage resource + + + + + This is used to dispatch load + + + + + Set load output to relative values + + + + + + + + Interval data for one or more event signals and/or baselines + + + + + + + Interval data for an event + + + + + Interval data for a baseline + + + + + + + + B profile + + + + + + + + + + Unique ID for a specific baseline + + + + + + Descriptive name for baseline + + + + + This is the unit of the signal. + + + + + + + + + Opts are used by the VEN to temporarily override the pre-existing agreement. For example, a VEN may opt in to events during the evening, or opt out from events during the world series. + + + + + + + + + + + + + + + + Enumerated value for the opt reason such as x-schedule + + + + + Reason for opting. + + + + + + + Enumerated reasons for opting. + + + + + + + + + + + + + + + + Identifier for an opt interaction + + + + + + Reference ID for a report + + + + + Identifier for a particular report request + + + + + Identifier for a particular Metadata report specification + + + + + Optional name for a report. + + + + + + + + + + + + + + + + + + + + ReferenceID for this data point + + + + + Device Class target - use only endDeviceAsset. + + + + + Sources for data in this report. Examples include meters or submeters. For example, if a meter is capable of providing two different types of measurements, then each measurement stream would be separately identified. + + + + + Date and time this artifact references. + + + + + + An enumerated value that gives the type of report being provided. + + + + + + + Enumerated report types + + + + + Report indicates a reading, as from a meter. Readings are moments in time-changes over time can be computed from the difference between successive readings. Payload type is float + + + + + Report indicates an amount of units (denominated in ItemBase or in the EMIX Product) over a period. Payload type is Quantity. A typical ItemBase is Real Energy. + + + + + Report indicates an amount of units (denominated in ItemBase or in the EMIX Product). Payload type is Quantity. A typical ItemBase is Real Power. + + + + + Report indicates the amount (denominated in ItemBase or in the EMIX Product) currently set. May be a confirmation/return of the setpoint control value sent from the VTN. Payload type is Quantity. A typical ItemBase is Real Power. + + + + + Change in usage as compared to the baseline. See usage for more information + + + + + Changes in setpoint from previous schedule. + + + + + Change in demand as compared to the baseline. See demand for more information + + + + + Can be demand or usage, as indicated by ItemBase. Indicates what [measurement] would be if not for the event or regulation. Report is of the format Baseline. + + + + + Difference between some instruction and actual state. + + + + + Average usage over the duration indicated by the Granularity. See usage for more information. + + + + + Average usage over the duration indicated by the Granularity. See demand for more information. + + + + + Generalized state of a resource such as on/off, occupancy of building, etc. No ItemBase is relevant. Requires an Application Specific Payload Extension. + + + + + Up Regulation capacity available for dispatch, expressed in EMIX Real Power. Payload is always expressed as positive Quantity. + + + + + Down Regulation capacity available for dispatch, expressed in EMIX Real Power. Payload is always expressed as positive Quantity. + + + + + Regulation setpoint as instructed as part of regulation services + + + + + Stored Energy is expressed as Real Energy and Payload is expressed as a Quantity. + + + + + Target Energy is expressed as Real Energy and Payload is expressed as a Quantity. + + + + + Capacity available for further energy storage, perhaps to get to Target Energy Storage + + + + + Price per ItemBase at each Interval + + + + + Simple level from market at each Interval. Itembase is not relevant. + + + + + Power factor for the resource. + + + + + Percentage of usage. + + + + + Percentage of demand + + + + + Percentage of demand + + + + + + + Metadata about the Readings, such as mean or derived + + + + + Type of Reading. + + + + + + + + + Reading is read from a device that increases monotonically, and usage must be computed from pairs of start and stop readings. + + + + + Meter or [resource] prepares its own calculation of total use over time. + + + + + Meter covers several [resources] and usage is inferred through some sort of pro data computation. + + + + + Used when a reading is absent in a series in which most readings are present. + + + + + Several meters together provide the reading for this [resource]. This is specifically a different than aggregated, which refers to multiple [resources] in the same payload. See also Hybrid. + + + + + Usage is inferred through knowledge of run-time, normal operation, etc. + + + + + Reading is the mean value over the period indicated in Granularity + + + + + Reading is Peak (highest) value over the period indicated in granularity. For some measurements, it may make more sense as the lowest value. May not be consistent with aggregate readings. Only valid for flow-rate Item Bases, i.e., Power not Energy. + + + + + If aggregated, refers to different reading types in the aggregate number. + + + + + Indicates reading is pro forma, i.e., is reported at agreed upon rates + + + + + Indicates reading is in the future, and has not yet been measured. + + + + + Root Mean Square + + + + + Not Applicable + + + + + + + + + + + + + + + Number is in same units as the payload variable for an Interval. When present with Confidence, indicates the likely variability of the prediction. When present with ReadingType, indicates likely error of Reading. + + + + + + + Report Payload for use in Reports, snaps, and projections. + + + + + + + A reference to a metadata data point description + + + + + Likely variability of prediction: 0-100 + + + + + Accuracy in same units as interval payload value + + + + + + + + + + + + Specify data points desired in a particular report instance + + + + + Parameters that define the content of a Report Stream + + + + + + How frequently the [measurement] is to be recorded. + + + + + Report back with the Report-To-Date for each passing of this Duration. + + + + + This is the overall period of reporting. + + + + + + + + + + Payload for use in Report Specifiers. + + + + + + What is measured or tracked in this report (Units). + + + + + + + + + Identifier for Registration transaction. Not included in response to query registration unless already registered + + + + + + Reference ID for a particular instance, transmittal, or artifact. Note: not the same as the native ID of the object being transmitted or shared. + + + + + + + Unique Identifier + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_emix_20b.xsd b/schema/2b/oadr_emix_20b.xsd new file mode 100644 index 0000000..6897a1e --- /dev/null +++ b/schema/2b/oadr_emix_20b.xsd @@ -0,0 +1,33 @@ + + + + + + + + + A URI identifying a DR Program + + + + + + + + + + + The Service Area is the geographic region that is affected by the EMIX market condition + + + + + + + + + + Abstract base type for units for EMIX Product delivery, measurement, and warrants. + + + diff --git a/schema/2b/oadr_gml_20b.xsd b/schema/2b/oadr_gml_20b.xsd new file mode 100644 index 0000000..5cd4bd9 --- /dev/null +++ b/schema/2b/oadr_gml_20b.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_greenbutton.xsd b/schema/2b/oadr_greenbutton.xsd new file mode 100644 index 0000000..f786a36 --- /dev/null +++ b/schema/2b/oadr_greenbutton.xsd @@ -0,0 +1,3954 @@ + + + + + + + Time sequence of Readings of the same ReadingType. + + + + + + + Specifies the time period during which the contained readings were taken. + + + + + + + + + + Set of values obtained from the meter. + + + + + + + + Characteristics associated with all Readings included in a MeterReading. + + + + + + + Code indicating how value is accumulated over time for Readings of ReadingType. + + + + + Code for commodity classification of Readings of ReadingType. + + + + + Code for consumption tier associated with a Reading of ReadingType. + + + + + Code for the currency for costs associated with this ReadingType. The valid values per the standard are defined in CurrencyCode. + + + + + Code describing a salient attribute of Readings of ReadingType. + + + + + Default value to be used if no value of ReadingQuality.quality is provided. +Specific format and valid values per the standard are specified in QualityOfReading. + + + + + Direction associated with current related Readings. + + + + + Default interval length specified in seconds for Readings of ReadingType. + + + + + Code for general classification of a Reading of ReadingType. + + + + + Code for phase information associated with Readings of ReadingType. + + + + + Code for the power of ten multiplier which, when used in combination with the uom, specifies the actual unit of measure for Readings of ReadingType. + + + + + Code used to specify a particular type of time interval method for Readings of ReadingType. + + + + + Code for the TOU type of Readings of ReadingType. + + + + + Code for the base unit of measure for Readings of ReadingType. Used in combination with the powerOfTenMultiplier to specify the actual unit of measure + + + + + [extension] Critical peak period (CPP) bucket the reading value is attributed to. Value 0 means not applicable. Even though CPP is usually considered a specialized form of time of use 'tou', this attribute is defined explicitly for flexibility. + + + + + [extension] Indication of a "harmonic" or "interharmonic" basis for the measurement. Value 0 in 'numerator' and 'denominator' means not applicable. + + + + + [extension] Time attribute inherent or fundamental to the reading value (as opposed to 'macroPeriod' that supplies an "adjective" to describe aspects of a time period with regard to the measurement). It refers to the way the value was originally measured and not to the frequency at which it is reported or presented. For example, an hourly interval of consumption data would have value 'hourly' as an attribute. However in the case of an hourly sampled voltage value, the meterReadings schema would carry the 'hourly' interval size information. +It is common for meters to report demand in a form that is measured over the course of a portion of an hour, while enterprise applications however commonly assume the demand (in kW or kVAr) normalised to 1 hour. The sytem that receives readings directly from the meter therefore must perform this transformation before publishing readings for use by the other enterprise systems. The scalar used is chosen based on the block size (not any sub-interval size). + + + + + [extension] Argument used to introduce numbers into the unit of measure description where they are needed (e.g., 4 where the measure needs an argument such as CEMI(n=4)). Most arguments used in practice however will be integers (i.e., 'denominator'=1). +Value 0 in 'numerator' and 'denominator' means not applicable. + + + + + + + + + Logical point on a network at which consumption or production is either physically measured (e.g., metered) or estimated (e.g., unmetered street lights). + + + + + + + Specifies the roles that this usage point has been assigned. Bit 1 - isMirror Bit 2 - isPremisesAggregationPoint Bit 3 - isPEV Bit 4 - isDER Bit 5 - isRevenueQuality Bit 6 - isDC Bit 7-16 - Reserved + + + + + + Specifies the current status of this usage point. Valid values include: 0 = off 1 = on + + + + + [extension] Contains service delivery point information about the UsagePoint if it does represent the service delivery point. + + + + + + + + + A summary of power quality events. This information represents a summary of power quality information typically required by customer facility energy management systems. It is not intended to satisfy the detailed requirements of power quality monitoring. All values are as defined by measurementProtocol during the period. The standards typically also give ranges of allowed values; the information attributes are the raw measurements, not the "yes/no" determination by the various standards. See referenced standards for definition, measurement protocol and period. + + + + + + + A measurement of long term Rapid Voltage Change in hundredths of a Volt. flickerPlt is derived from 2 hours of Pst values (12 values combined in cubic relationship). + + + + + flickerPst is a value measured over 10 minutes that characterizes the likelihood that the voltage fluctuations would result in perceptible light flicker. A value of 1.0 is designed to represent the level that 50% of people would perceive flicker in a 60 watt incandescent bulb. The value reported is represented as an integer in hundredths. + + + + + A measurement of the Harmonic Voltage during the period. For DC, distortion is with respect to a signal of zero Hz. + + + + + A count of Long Interruption events (as defined by measurementProtocol) during the summary interval period. + + + + + A measurement of the Mains [Signaling] Voltage during the summary interval period in uV. + + + + + A reference to the source standard used as the measurement protocol definition. Examples are: 0 = "IEEE1519-2009" 1 = "EN50160" + + + + + A measurement of the power frequency during the summary interval period in uHz. + + + + + A count of Rapid Voltage Change events during the summary interval period + + + + + A count of Short Interruption events during the summary interval period + + + + + Interval of summary period + + + + + A count of Supply Voltage Dip events during the summary interval period + + + + + A count of Supply Voltage Imbalance events during the summary interval period + + + + + A count of Supply Voltage Variations during the summary interval period + + + + + A count of Temporary Overvoltage events (as defined by measurementProtocol) during the summary interval period + + + + + + + + + Summary of usage for a billing period + + + + + + + The billing period to which the included measurements apply + + + + + The amount of the bill for the previous billing period , in hundred-thousandths of the currency specified in the ReadingType for this reading (e.g., 840 = USD, US dollar). + + + + + The bill amount related to the billing period as of the date received, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar). + + + + + Additional charges from the last billing period, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar). + + + + + [extension] Additional charges from the last billing period which in total add up to costAdditionalLastPeriod + + + + + The ISO 4217 code indicating the currency applicable to the bill amounts in the summary. See list at http://tiny.cc/4217 + + + + + [extension] The amount of energy consumed in the last billing period. + + + + + The total consumption for the billing period + + + + + The amount of energy consumed one year ago interpreted as same day of week same week of year (see ISO 8601). + + + + + Net consumption for the current day (delivered - received) + + + + + Overall energy consumption for the current day + + + + + Peak demand recorded for the current period + + + + + The amount of energy consumed on the previous day one year ago interpreted as same day of week same week of year (see ISO 8601). + + + + + Net consumption for the previous day + + + + + The total consumption for the previous day + + + + + Indication of the quality of the summary readings + + + + + The current ratchet demand value for the ratchet demand period + + + + + The period over which the ratchet demand applies + + + + + Date/Time status of this UsageSummary + + + + + + + + + [extension] Contains attributes related to the configuration of the time service. + + + + + + + Rule to calculate end of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule. + + + + + Daylight savings time offset from local standard time. + + + + + Rule to calculate start of daylight savings time in the current year. Result of dstEndRule must be greater than result of dstStartRule. + + + + + Local time zone offset from UTCTime. Does not include any daylight savings time offsets. + + + + + + + + + + Specific value measured by a meter or other asset. Each Reading is associated with a specific ReadingType. + + + + + + + [correction] Specifies a cost associated with this reading, in hundred-thousandths of the currency specified in the ReadingType for this reading. (e.g., 840 = USD, US dollar) + + + + + + The date time and duration of a reading. If not specified, readings for each "intervalLength" in ReadingType are present. + + + + + [correction] Value in units specified by ReadingType + + + + + + + + + Quality of a specific reading value or interval reading value. Note that more than one Quality may be applicable to a given Reading. Typically not used unless problems or unusual conditions occur (i.e., quality for each Reading is assumed to be 'Good' (valid) unless stated otherwise in associated ReadingQuality). + + + + + + + Quality, to be specified if different than ReadingType.defaultQuality. The specific format is specified per the standard is defined in QualityOfReading. + + + + + + + + + Category of service provided to the customer. + + + + + + + Service classification Examples are: 0 - electricity 1 - gas The list of specific valid values per the standard are itemized in ServiceKind. + + + + + + + + + An aggregated summary measurement reading. + + + + + + + The multiplier part of the unit of measure, e.g. "kilo" (k) + + + + + The date and time (if needed) of the summary measurement. + + + + + The units of the reading, e.g. "Wh" + + + + + The value of the summary measurement. + + + + + + + + + Includes elements that make it possible to include multiple transactions in a single (batch) request. + + + + + + + An identifier for this object that is only unique within the containing collection. + + + + + Specifies the operation requested of this item. + + + + + Indicates the status code of the associated transaction. + + + + + Indicates the reason for the indicated status code. + + + + + + + + + [extension] Service Delivery Point is representation of revenue UsagePoint attributes + + + + + + + The name is any free human readable and possibly non unique text naming the object. + + + + + A schedule of charges; structure associated with Tariff that allows the definition of complex tariff structures such as step and time of use. + + + + + Agreement between the customer and the ServiceSupplier to pay for service at a specific service location. It provides for the recording of certain billing information about the type of service provided at the service location and is used during charge creation to determine the type of service. + + + + + + + + + + A 128-bit field encoded as a hex string (32 characters / 16 octets) + + + + + + + + A 32-bit field encoded as a hex string (8 characters / 4 octets) + + + + + + + + A 16-bit field encoded as a hex string (4 characters / 2 octets) + + + + + + + + An 8-bit field encoded as a hex string (2 characters / 1 octets) + + + + + + + + Character string of max length 256 + + + + + + + + Character string of max length 32 + + + + + + + + Character string of max length 64 + + + + + + + + Unsigned integer, max inclusive 65535 (2^16-1), same as xs:unsignedShort + + + + + + Unsigned integer, max inclusive 4294967295 (2^32-1), same as xs:unsignedInt + + + + + + Unsigned integer, max inclusive 281474976710655 (2^48-1), restriction of xs:unsignedLong + + + + + + + + Unsigned integer, max inclusive 255 (2^8-1), same as xs:unsignedByte + + + + + + Signed integer, max inclusive -140737488355327 to +140737488355327 (2^47-1), restriction of xs:long + + + + + + + + + Signed integer, max inclusive (2^16-1), restriction of xs:short + + + + + + Time is a signed 64-bit value representing the number of seconds since 0 hours, 0 minutes, 0 seconds, on the 1st of January, 1970. + + + + + + + Interval of date and time. End is not included because it can be derived from the start and the duration. + + + + + + + [correction] Duration of the interval, in seconds. + + + + + [correction] Date and time that this interval started. + + + + + + + + + This is a root class to provide common naming attributes for all classes needing naming attributes + + + + + + + + + + + + This pattern defines a UUID + + + + + + + + Superclass of all object classes to allow extensions. + + + + + Contains an extension. + + + + + + + Contains the current status of the service. + + + + + + + The current status of the service. + + + + + + + + + [extension] Rational number = 'numerator' / 'denominator'. + + + + + + + + + [extension] Interharmonics are represented as a rational number 'numerator' / 'denominator', and harmonics are represented using the same mechanism and identified by 'denominator'=1. + + + + + + + + + [extension] Line item of detail for additional cost + + + + + + + + + + + + Code indicating how value is accumulated over time for Readings of ReadingType. The list of valid values per the standard are defined in AccumulationBehaviorType. + + + + + + + none + Not Applicable, or implied by the unit of measure. + + + + + bulkQuantity + A value from a register which represents the bulk quantity of a commodity. This quantity is computed as the integral of the commodity usage rate. This value is typically used as the basis for the dial reading at the meter, and as a result, will roll over upon reaching a maximum dial value. Note 1: With the metering system, the roll-over behaviour typically implies a roll-under behavior so that the value presented is always a positive value (e.g. unsigned integer or positive decimal.) However, when communicating data between enterprise applications a negative value might occur in a case such as net metering.Note 2: A BulkQuantity refers primarily to the dial reading and not the consumption over a specific period of time. + + + + + continuousCumulative + The sum of the previous billing period values and the present period value. Note: “ContinuousCumulative” is commonly used in conjunction with “demand.” The “ContinuousCumulative Demand” would be the cumulative sum of the previous billing period maximum demand values (as occurring with each demand reset) summed with the present period maximum demand value (which has yet to be reset.) + + + + + cumulative + The sum of the previous billing period values. Note: “Cumulative” is commonly used in conjunction with “demand.” Each demand reset causes the maximum demand value for the present billing period (since the last demand reset) to accumulate as an accumulative total of all maximum demands. So instead of “zeroing” the demand register, a demand reset has the affect of adding the present maximum demand to this accumulating total. + + + + + deltaData + The difference between the value at the end of the prescribed interval and the beginning of the interval. This is used for incremental interval data. Note: One common application would be for load profile data, another use might be to report the number of events within an interval (such as the number of equipment energizations within the specified period of time.) + + + + + indicating + As if a needle is swung out on the meter face to a value to indicate the current value. (Note: An “indicating” value is typically measured over hundreds of milliseconds or greater, or may imply a “pusher” mechanism to capture a value. Compare this to “instantaneous” which is measured over a shorter period of time.) + + + + + summation + A form of accumulation which is selective with respect to time. Note : “Summation” could be considered a specialization of “Bulk Quantity” according to the rules of inheritance where “Summation” selectively accumulates pulses over a timing pattern, and “BulkQuantity” accumulates pulses all of the time. + + + + + timeDelay + A form of computation which introduces a time delay characteristic to the data value + + + + + instantaneous + Typically measured over the fastest period of time allowed by the definition of the metric (usually milliseconds or tens of milliseconds.) (Note: “Instantaneous” was moved to attribute #3 in 61968-9Ed2 from attribute #1 in 61968-9Ed1.) + + + + + latchingQuantity + When this description is applied to a metered value, it implies that the value is a time-independent cumulative quantity much a BulkQuantity, except that it latches upon the maximum value upon reaching that value. Any additional accumulation (positive or negative) is discarded until a reset occurs. Note: A LatchingQuantity may also occur in the downward direction – upon reaching a minimum value. The terms “maximum” or “minimum” will usually be included as an attribute when this type of accumulation behaviour is present.When this description is applied to an encoded value (UOM= “Code”), it implies that the value has one or more bits which are latching. The condition that caused the bit to be set may have long since evaporated.In either case, the timestamp that accompanies the value may not coincide with the moment the value was initially set.In both cases a system will need to perform an operation to clear the latched value. + + + + + boundedQuantity + A time-independent cumulative quantity much a BulkQuantity or a LatchingQuantity, except that the accumulation stops at the maximum or minimum values. When the maximum is reached, any additional positive accumulation is discarded, but negative accumulation may be accepted (thus lowering the counter.) Likewise, when the negative bound is reached, any additional negative accumulation is discarded, but positive accumulation is accepted (thus increasing the counter.) + + + + + + + + + Code for commodity classification of Readings of ReadingType. The valid values per the standard are defined in CommodityType. + + + + + + + none + Not Applicable + + + + + electricity SecondaryMetered + All types of metered quantities. This type of reading comes from the meter and represents a “secondary” metered value. + + + + + electricity PrimaryMetere + It is possible for a meter to be outfitted with an external VT and/or CT. The meter might not be aware of these devices, and the display not compensate for their presence. Ultimately, when these scalars are applied, the value that represents the service value is called the “primary metered” value. The “index” in sub-category 3 mirrors those of sub-category 0. + + + + + communication + A measurement of the communication infrastructure itself. + + + + + air + + + + + + insulativeGas + (SF6 is found separately below.) + + + + + insulativeOil + + + + + + naturalGas + + + + + + propane + + + + + + potableWater + Drinkable water + + + + + steam + Water in steam form, usually used for heating. + + + + + wasteWater + (Sewerage) + + + + + heatingFluid + This fluid is likely in liquid form. It is not necessarily water or water based. The warm fluid returns cooler than when it was sent. The heat conveyed may be metered. + + + + + coolingFluid + The cool fluid returns warmer than when it was sent. The heat conveyed may be metered. + + + + + nonpotableWater + Reclaimed water – possibly used for irrigation but not sufficiently treated to be considered safe for drinking. + + + + + nox + Nitrous Oxides NOX + + + + + so2 + Sulfur Dioxide SO2 + + + + + ch4 + Methane CH4 + + + + + co2 + Carbon Dioxide CO2 + + + + + carbon + + + + + + hch + Hexachlorocyclohexane HCH + + + + + pfc + Perfluorocarbons PFC + + + + + sf6 + Sulfurhexafluoride SF6 + + + + + tvLicence + Television + + + + + internet + Internet service + + + + + refuse + trash + + + + + + + + + Code for the currency for costs associated with this ReadingType. The valid values per the standard are defined in CurrencyCode. + + + + + + + USD + US dollar + + + + + EUR + European euro + + + + + AUD + Australian dollar + + + + + CAD + Canadian dollar + + + + + CHF + Swiss francs + + + + + CNY + Chinese yuan renminbi + + + + + DKK + Danish crown + + + + + GBP + British pound + + + + + JPY + Japanese yen + + + + + NOK + Norwegian crown + + + + + RUB + Russian ruble + + + + + SEK + Swedish crown + + + + + INR + India rupees + + + + + other + Another type of currency. + + + + + + + + + Code describing a salient attribute of Readings of ReadingType. Valid values per the standard are defined in DataQualifierType. + + + + + + + none + Not Applicable + + + + + average + Average value + + + + + excess + The value represents an amount over which a threshold was exceeded. + + + + + highThreshold + The value represents a programmed threshold. + + + + + lowThreshold + The value represents a programmed threshold. + + + + + maximum + The highest value observed + + + + + minimum + The smallest value observed + + + + + nominal + + + + + + normal + + + + + + secondMaximum + The second highest value observed + + + + + secondMinimum + The second smallest value observed + + + + + thirdMaximum + The third highest value observed + + + + + fourthMaximum + The fourth highest value observed + + + + + fifthMaximum + The fifth highest value observed + + + + + sum + The accumulated sum + + + + + + + + + Direction associated with current related Readings. valid values per the standard are defined in FlowDirectionType. + + + + + + + none + Not Applicable (N/A) + + + + + forward + "Delivered," or "Imported" as defined 61968-2.Forward Active Energy is a positive kWh value as one would naturally expect to find as energy is supplied by the utility and consumed at the service.Forward Reactive Energy is a positive VArh value as one would naturally expect to find in the presence of inductive loading.In polyphase metering, the forward energy register is incremented when the sum of the phase energies is greater than zero. + + + + + lagging + Typically used to describe that a power factor is lagging the reference value. Note 1: When used to describe VA, “lagging” describes a form of measurement where reactive power is considered in all four quadrants, but real power is considered only in quadrants I and IV.Note 2: When used to describe power factor, the term “Lagging” implies that the PF is negative. The term “lagging” in this case takes the place of the negative sign. If a signed PF value is to be passed by the data producer, then the direction of flow enumeration zero (none) should be used in order to avoid the possibility of creating an expression that employs a double negative. The data consumer should be able to tell from the sign of the data if the PF is leading or lagging. This principle is analogous to the concept that “Reverse” energy is an implied negative value, and to publish a negative reverse value would be ambiguous.Note 3: Lagging power factors typically indicate inductive loading. + + + + + leading + Typically used to describe that a power factor is leading the reference value.Note: Leading power factors typically indicate capacitive loading. + + + + + net + |Forward| - |Reverse|, See 61968-2.Note: In some systems, the value passed as a “net” value could become negative. In other systems the value passed as a “net” value is always a positive number, and rolls-over and rolls-under as needed. + + + + + q1plusQ2 + Reactive positive quadrants. (The term “lagging” is preferred.) + + + + + q1plusQ3 + Quadrants 1 and 3 + + + + + q1plusQ4 + Quadrants 1 and 4 usually represent forward active energy + + + + + q1minusQ4 + Q1 minus Q4 + + + + + q2plusQ3 + Quadrants 2 and 3 usually represent reverse active energy + + + + + q2plusQ4 + Quadrants 2 and 4 + + + + + q2minusQ3 + Q2 minus Q3 + + + + + q3plusQ4 + Reactive negative quadrants. (The term “leading” is preferred.) + + + + + q3minusQ2 + Q3 minus Q2 + + + + + quadrant1 + Q1 only + + + + + quadrant2 + Q2 only + + + + + quadrant3 + Q3 only + + + + + quadrant4 + Q4 only + + + + + reverse + Reverse Active Energy is equivalent to "Received," or "Exported" as defined in 61968-2.Reverse Active Energy is a positive kWh value as one would expect to find when energy is backfed by the service onto the utility network.Reverse Reactive Energy is a positive VArh value as one would expect to find in the presence of capacitive loading and a leading Power Factor.In polyphase metering, the reverse energy register is incremented when the sum of the phase energies is less than zero.Note: The value passed as a reverse value is always a positive value. It is understood by the label “reverse” that it represents negative flow. + + + + + total + |Forward| + |Reverse|, See 61968-2.The sum of the commodity in all quadrants Q1+Q2+Q3+Q4.In polyphase metering, the total energy register is incremented when the absolute value of the sum of the phase energies is greater than zero. + + + + + totalByPhase + In polyphase metering, the total by phase energy register is incremented when the sum of the absolute values of the phase energies is greater than zero.In single phase metering, the formulas for “Total” and “Total by phase” collapse to the same expression. For communication purposes however, the “Total” enumeration should be used with single phase meter data. + + + + + + + + + Name of physical measurement + + + + + + + none + Not Applicable + + + + + apparentPowerFactor + + + + + + currency + funds + + + + + current + + + + + + currentAngle + + + + + + currentImbalance + + + + + + date + + + + + + demand + + + + + + distance + + + + + + distortionVoltAmperes + + + + + + energization + + + + + + energy + + + + + + energizationLoadSide + + + + + + fan + + + + + + frequency + + + + + + Funds + Dup with “currency” + + + + + ieee1366ASAI + + + + + + ieee1366ASIDI + + + + + + ieee1366ASIFI + + + + + + ieee1366CAIDI + + + + + + ieee1366CAIFI + + + + + + ieee1366CEMIn + + + + + + ieee1366CEMSMIn + + + + + + ieee1366CTAIDI + + + + + + ieee1366MAIFI + + + + + + ieee1366MAIFIe + + + + + + ieee1366SAIDI + + + + + + ieee1366SAIFI + + + + + + lineLosses + + + + + + losses + + + + + + negativeSequence + + + + + + phasorPowerFactor + + + + + + phasorReactivePower + + + + + + positiveSequence + + + + + + power + + + + + + powerFactor + + + + + + quantityPower + + + + + + sag + or Voltage Dip + + + + + swell + + + + + + switchPosition + + + + + + tapPosition + + + + + + tariffRate + + + + + + temperature + + + + + + totalHarmonicDistortion + + + + + + transformerLosses + + + + + + unipedeVoltageDip10to15 + + + + + + unipedeVoltageDip15to30 + + + + + + unipedeVoltageDip30to60 + + + + + + unipedeVoltageDip60to90 + + + + + + unipedeVoltageDip90to100 + + + + + + voltage + + + + + + voltageAngle + + + + + + voltageExcursion + + + + + + voltageImbalance + + + + + + volume + Clarified from Ed. 1. to indicate fluid volume + + + + + zeroFlowDuration + + + + + + zeroSequence + + + + + + distortionPowerFactor + + + + + + frequencyExcursion + Usually expressed as a “count” + + + + + applicationContext + + + + + + apTitle + + + + + + assetNumber + + + + + + bandwidth + + + + + + batteryVoltage + + + + + + broadcastAddress + + + + + + deviceAddressType1 + + + + + + deviceAddressType2 + + + + + + deviceAddressType3 + + + + + + deviceAddressType4 + + + + + + deviceClass + + + + + + electronicSerialNumber + + + + + + endDeviceID + + + + + + groupAddressType1 + + + + + + groupAddressType2 + + + + + + groupAddressType3 + + + + + + groupAddressType4 + + + + + + ipAddress + + + + + + macAddress + + + + + + mfgAssignedConfigurationID + + + + + + mfgAssignedPhysicalSerialNumber + + + + + + mfgAssignedProductNumber + + + + + + mfgAssignedUniqueCommunicationAddress + + + + + + multiCastAddress + + + + + + oneWayAddress + + + + + + signalStrength + + + + + + twoWayAddress + + + + + + signaltoNoiseRatio + Moved here from Attribute #9 UOM + + + + + alarm + + + + + + batteryCarryover + + + + + + dataOverflowAlarm + + + + + + demandLimit + + + + + + demandReset + Usually expressed as a count as part of a billing cycle + + + + + diagnostic + + + + + + emergencyLimit + + + + + + encoderTamper + + + + + + ieee1366MomentaryInterruption + + + + + + ieee1366MomentaryInterruptionEvent + + + + + + ieee1366SustainedInterruption + + + + + + interruptionBehaviour + + + + + + inversionTamper + + + + + + loadInterrupt + + + + + + loadShed + + + + + + maintenance + + + + + + physicalTamper + + + + + + powerLossTamper + + + + + + powerOutage + + + + + + powerQuality + + + + + + powerRestoration + + + + + + programmed + + + + + + pushbutton + + + + + + relayActivation + + + + + + relayCycle + Usually expressed as a count + + + + + removalTamper + + + + + + reprogrammingTamper + + + + + + reverseRotationTamper + + + + + + switchArmed + + + + + + switchDisabled + + + + + + tamper + + + + + + watchdogTimeout + + + + + + billLastPeriod + Customer’s bill for the previous billing period (Currency) + + + + + billToDate + Customer’s bill, as known thus far within the present billing period (Currency) + + + + + billCarryover + Customer’s bill for the (Currency) + + + + + connectionFee + Monthly fee for connection to commodity. + + + + + audibleVolume + Sound + + + + + volumetricFlow + + + + + + + + + + Enumeration of phase identifiers. Allows designation of phases for both transmission and distribution equipment, circuits and loads.Residential and small commercial loads are often served from single-phase, or split-phase, secondary circuits. Phases 1 and 2 refer to hot wires that are 180 degrees out of phase, while N refers to the neutral wire. Through single-phase transformer connections, these secondary circuits may be served from one or two of the primary phases A, B, and C. For three-phase loads, use the A, B, C phase codes instead of s12N. + + + + + + + ABCN + ABC to Neutral + + + + + ABC + Involving all phases + + + + + ABN + AB to Neutral + + + + + ACN + Phases A, C and neutral. + + + + + BCN + BC to neutral. + + + + + AB + Phases A to B + + + + + AC + Phases A and C + + + + + BC + Phases B to C + + + + + AN + Phases A to neutral. + + + + + BN + Phases B to neutral. + + + + + CN + Phases C to neutral. + + + + + A + Phase A. + + + + + B + Phase B. + + + + + C + Phase C. + + + + + N + Neutral + + + + + S2N + Phase S2 to neutral. + + + + + S12N + Phase S1, S2 to neutral. + + + + + S1N + Phase S1 to Neutral + + + + + S2 + Phase S2. + + + + + S12 + Phase S1 to S2 + + + + + none + Not applicable to any phase + + + + + AtoAv + Phase A current relative to Phase A voltage + + + + + BAv + Phase B current or voltage relative to Phase A voltage + + + + + CAN + CA to Neutral + + + + + CAv + hase C current or voltage relative to Phase A voltage + + + + + NG + Neutral to ground + + + + + S1 + Phase S1 + + + + + + + + + The power of ten unit multipliers. + + + + + + + p + Pico 10**-12 + + + + + n + Nano 10**-9 + + + + + micro + Micro 10**-6 + + + + + m + Milli 10**-3 + + + + + c + Centi 10**-2 + + + + + d + Deci 10**-1 + + + + + k + Kilo 10**3 + + + + + M + Mega 10**6 + + + + + G + Giga 10**9 + + + + + T + Tera 10**12 + + + + + none + Not Applicable or "x1" + + + + + da + deca 10**1 + + + + + h + hecto 10**2 + + + + + + + + + List of codes indicating the quality of the reading + + + + + + + valid + data that has gone through all required validation checks and either passed them all or has been verified + + + + + manually edited + Replaced or approved by a human + + + + + estimated using reference day + data value was replaced by a machine computed value based on analysis of historical data using the same type of measurement. + + + + + estimated using linear interpolation + data value was computed using linear interpolation based on the readings before and after it + + + + + questionable + data that has failed one or more checks + + + + + derived + data that has been calculated (using logic or mathematical operations) + + + + + projected (forecast) + data that has been calculated as a projection or forecast of future readings + + + + + mixed + indicates that the quality of this reading has mixed characteristics + + + + + raw + data that has not gone through the validation + + + + + normalized for weather + the values have been adjusted to account for weather + + + + + other + specifies that a characteristic applies other than those defined + + + + + validated + data that has been validated and possibly edited and/or estimated in accordance with approved procedures + + + + + verified + data that failed at least one of the required validation checks but was determined to represent actual usage + + + + + + + + + Kind of service represented by the UsagePoint + + + + + + + electricity + Electricity service. + + + + + gas + Gas service. + + + + + water + Water service. + + + + + time + Time service. + + + + + heat + Heat service. + + + + + refuse + Refuse (waster) service. + + + + + sewerage + Sewerage service. + + + + + rates + Rates (e.g. tax, charge, toll, duty, tariff, etc.) service. + + + + + tvLicence + TV license service. + + + + + internet + Internet service. + + + + + + + + + Code used to specify a particular type of time interval method for Readings of ReadingType. Valid values per the standard are defined in TimeAttributeType. + + + + + + + none + Not Applicable + + + + + tenMinute + 10-minute + + + + + fifteenMinute + 15-minute + + + + + oneMinute + 1-minute + + + + + twentyfourHour + 24-hour + + + + + thirtyMinute + 30-minute + + + + + fiveMinute + 5-minute + + + + + sixtyMinute + 60-minute + + + + + twoMinute + 2-minute + + + + + threeMinute + 3-minute + + + + + present + Within the present period of time + + + + + previous + Shifted within the previous monthly cycle and data set + + + + + twentyMinute + 20-minute interval + + + + + fixedBlock60Min + 60-minute Fixed Block + + + + + fixedBlock30Min + 30-minute Fixed Block + + + + + fixedBlock20Min + 20-minute Fixed Block + + + + + fixedBlock15Min + 15-minute Fixed Block + + + + + fixedBlock10Min + 10-minute Fixed Block + + + + + fixedBlock5Min + 5-minute Fixed Block + + + + + fixedBlock1Min + 1-minute Fixed Block + + + + + rollingBlock60MinIntvl30MinSubIntvl + 60-minute Rolling Block with 30-minute sub-intervals + + + + + rollingBlock60MinIntvl20MinSubIntvl + 60-minute Rolling Block with 20-minute sub-intervals + + + + + rollingBlock60MinIntvl15MinSubIntvl + 60-minute Rolling Block with 15-minute sub-intervals + + + + + rollingBlock60MinIntvl12MinSubIntvl + 60-minute Rolling Block with 12-minute sub-intervals + + + + + rollingBlock60MinIntvl10MinSubIntvl + 60-minute Rolling Block with 10-minute sub-intervals + + + + + rollingBlock60MinIntvl6MinSubIntvl + 60-minute Rolling Block with 6-minute sub-intervals + + + + + rollingBlock60MinIntvl5MinSubIntvl + 60-minute Rolling Block with 5-minute sub-intervals + + + + + rollingBlock60MinIntvl4MinSubIntvl + 60-minute Rolling Block with 4-minute sub-intervals + + + + + rollingBlock30MinIntvl15MinSubIntvl + 30-minute Rolling Block with 15-minute sub-intervals + + + + + rollingBlock30MinIntvl10MinSubIntvl + 30-minute Rolling Block with 10-minute sub-intervals + + + + + rollingBlock30MinIntvl6MinSubIntvl + 30-minute Rolling Block with 6-minute sub-intervals + + + + + rollingBlock30MinIntvl5MinSubIntvl + 30-minute Rolling Block with 5-minute sub-intervals + + + + + rollingBlock30MinIntvl3MinSubIntvl + 30-minute Rolling Block with 3-minute sub-intervals + + + + + rollingBlock30MinIntvl2MinSubIntvl + 30-minute Rolling Block with 2-minute sub-intervals + + + + + rollingBlock15MinIntvl5MinSubIntvl + 15-minute Rolling Block with 5-minute sub-intervals + + + + + rollingBlock15MinIntvl3MinSubIntvl + 15-minute Rolling Block with 3-minute sub-intervals + + + + + rollingBlock15MinIntvl1MinSubIntvl + 15-minute Rolling Block with 1-minute sub-intervals + + + + + rollingBlock10MinIntvl5MinSubIntvl + 10-minute Rolling Block with 5-minute sub-intervals + + + + + rollingBlock10MinIntvl2MinSubIntvl + 10-minute Rolling Block with 2-minute sub-intervals + + + + + rollingBlock10MinIntvl1MinSubIntvl + 10-minute Rolling Block with 1-minute sub-intervals + + + + + rollingBlock5MinIntvl1MinSubIntvl + 5-minute Rolling Block with 1-minute sub-intervals + + + + + + + + + [extension] + + + + + + + none + Not Applicable + + + + + billingPeriod + Captured during the billing period starting at midnight of the first day of the billing period (as defined by the billing cycle day). If during the current billing period, it specifies a period from the start of the current billing period until "now". + + + + + daily + Daily Period starting at midnight. If for the current day, this specifies the time from midnight to "now". + + + + + monthly + Monthly period starting at midnight on the first day of the month. If within the current month, this specifies the period from the start of the month until "now." + + + + + seasonal + A season of time spanning multiple months. E.g. "Summer," "Spring," "Fall," and "Winter" based cycle. If within the current season, it specifies the period from the start of the current season until "now." + + + + + weekly + Weekly period starting at midnight on the first day of the week and ending the instant before midnight the last day of the week. If within the current week, it specifies the period from the start of the week until "now." + + + + + specifiedPeriod + For the period defined by the start and end of the TimePeriod element in the message. + + + + + + + + + Code for the base unit of measure for Readings of ReadingType. Used in combination with the powerOfTenMultiplier to specify the actual unit of measure. Valid values per the standard are defined in UomType. + + + + + + + + VA + Apparent power, Volt Ampere (See also real power and reactive power.), VA + + + + + W + Real power, Watt. By definition, one Watt equals oneJoule per second. Electrical power may have real and reactive components. The real portion of electrical power (I²R) or VIcos?, is expressed in Watts. (See also apparent power and reactive power.), W + + + + + VAr + Reactive power, Volt Ampere reactive. The “reactive” or “imaginary” component of electrical power (VISin?). (See also real power and apparent power)., VAr + + + + + VAh + Apparent energy, Volt Ampere hours, VAh + + + + + Wh + Real energy, Watt hours, Wh + + + + + VArh + Reactive energy, Volt Ampere reactive hours, VArh + + + + + V + Electric potential, Volt (W/A), V + + + + + ohm + Electric resistance, Ohm (V/A), O + + + + + A + Current, ampere, A + + + + + F + Electric capacitance, Farad (C/V), °C + + + + + H + Electric inductance, Henry (Wb/A), H + + + + + degC + Relative temperature in degrees Celsius. In the SI unit system the symbol is ºC. Electric charge is measured in coulomb that has the unit symbol C. To destinguish degree Celsius form coulomb the symbol used in the UML is degC. Reason for not using ºC is the special character º is difficult to manage in software. + + + + + sec + Time, seconds, s + + + + + min + Time, minute = s * 60, min + + + + + h + Time, hour = minute * 60, h + + + + + deg + Plane angle, degrees, deg + + + + + rad + Plane angle, Radian (m/m), rad + + + + + J + Energy joule, (N·m = C·V = W·s), J + + + + + n + Force newton, (kg m/s²), N + + + + + siemens + Electric conductance, Siemens (A / V = 1 / O), S + + + + + none + N/A, None + + + + + Hz + Frequency hertz, (1/s), Hz + + + + + g + Mass in gram, g + + + + + pa + Pressure, Pascal (N/m²)(Note: the absolute or relative measurement of pressure is implied with this entry. See below for more explicit forms.), Pa + + + + + m + Length, meter, m + + + + + m2 + Area, square meter, m² + + + + + m3 + Volume, cubic meter, m³ + + + + + A2 + Amps squared, amp squared, A2 + + + + + A2h + ampere-squared, Ampere-squared hour, A²h + + + + + A2s + Amps squared time, square amp second, A²s + + + + + Ah + Ampere-hours, Ampere-hours, Ah + + + + + APerA + Current, Ratio of Amperages, A/A + + + + + aPerM + A/m, magnetic field strength, Ampere per metre, A/m + + + + + As + Amp seconds, amp seconds, As + + + + + b + Sound pressure level, Bel, acoustic, Combine with multiplier prefix “d” to form decibels of Sound Pressure Level“dB (SPL).”, B (SPL) + + + + + bm + Signal Strength, Bel-mW, normalized to 1mW. Note: to form “dBm” combine “Bm” with multiplier “d”. Bm + + + + + bq + Radioactivity, Becquerel (1/s), Bq + + + + + btu + Energy, British Thermal Units, BTU + + + + + btuPerH + Power, BTU per hour, BTU/h + + + + + cd + Luminous intensity, candela, cd + + + + + char + Number of characters, characters, char + + + + + HzPerSec + Rate of change of frequency, hertz per second, Hz/s + + + + + code + Application Value, encoded value, code + + + + + cosTheta + Power factor, Dimensionless graphic, cos? + + + + + count + Amount of substance, counter value, count + + + + + ft3 + Volume, cubic feet, ft³ + + + + + ft3compensated + Volume, cubic feet, ft³(compensated) + + + + + ft3compensatedPerH + Volumetric flow rate, compensated cubic feet per hour, ft³(compensated)/h + + + + + gM2 + Turbine inertia, gram·meter2 (Combine with multiplier prefix “k” to form kg·m2.), gm² + + + + + gPerG + Concentration, The ratio of the mass of a solute divided by the mass of the solution., g/g + + + + + gy + Absorbed dose, Gray (J/kg), GY + + + + + HzPerHz + Frequency, Rate of frequency change, Hz/Hz + + + + + charPerSec + Data rate, characters per second, char/s + + + + + imperialGal + Volume, imperial gallons, ImperialGal + + + + + imperialGalPerH + Volumetric flow rate, Imperial gallons per hour, ImperialGal/h + + + + + jPerK + Heat capacity, Joule/Kelvin, J/K + + + + + jPerKg + Specific energy, Joules / kg, J/kg + + + + + K + Temperature, Kelvin, K + + + + + kat + Catalytic activity, katal = mol / s, kat + + + + + kgM + Moment of mass ,kilogram meter (kg·m), M + + + + + kgPerM3 + Density, gram/cubic meter (combine with prefix multiplier “k” to form kg/ m³), g/m³ + + + + + litre + Volume, litre = dm3 = m3/1000., L + + + + + litreCompensated + Volume, litre, with the value compensated for weather effects, L(compensated) + + + + + litreCompensatedPerH + Volumetric flow rate, litres (compensated) per hour, L(compensated)/h + + + + + litrePerH + Volumetric flow rate, litres per hour, L/h + + + + + litrePerLitre + Concentration, The ratio of the volume of a solute divided by the volume of the solution., L/L + + + + + litrePerSec + Volumetric flow rate, Volumetric flow rate, L/s + + + + + litreUncompensated + Volume, litre, with the value uncompensated for weather effects., L(uncompensated) + + + + + litreUncompensatedPerH + Volumetric flow rate, litres (uncompensated) per hour, L(uncompensated)/h + + + + + lm + Luminous flux, lumen (cd sr), Lm + + + + + lx + Illuminance lux, (lm/m²), L(uncompensated)/h + + + + + m2PerSec + Viscosity, meter squared / second, m²/s + + + + + m3compensated + Volume, cubic meter, with the value compensated for weather effects., m3(compensated) + + + + + m3compensatedPerH + Volumetric flow rate, compensated cubic meters per hour, ³(compensated)/h + + + + + m3PerH + Volumetric flow rate, cubic meters per hour, m³/h + + + + + m3PerSec + m3PerSec, cubic meters per second, m³/s + + + + + m3uncompensated + m3uncompensated, cubic meter, with the value uncompensated for weather effects., m3(uncompensated) + + + + + m3uncompensatedPerH + Volumetric flow rate, uncompensated cubic meters per hour, m³(uncompensated)/h + + + + + meCode + EndDeviceEvent, value to be interpreted as a EndDeviceEventCode, meCode + + + + + mol + Amount of substance, mole, mol + + + + + molPerKg + Concentration, Molality, the amount of solute in moles and the amount of solvent in kilograms., mol/kg + + + + + molPerM3 + Concentration, The amount of substance concentration, (c), the amount of solvent in moles divided by the volume of solution in m³., mol/ m³ + + + + + molPerMol + Concentration, Molar fraction (?), the ratio of the molar amount of a solute divided by the molar amount of the solution.,mol/mol + + + + + money + Monetary unit, Generic money (Note: Specific monetary units are identified the currency class)., ¤ + + + + + mPerM + Length, Ratio of length, m/m + + + + + mPerM3 + Fuel efficiency, meters / cubic meter, m/m³ + + + + + mPerSec + Velocity, meters per second (m/s), m/s + + + + + mPerSec2 + Acceleration, meters per second squared, m/s² + + + + + ohmM + resistivity, ? (rho), ?m + + + + + paA + Pressure, Pascal, absolute pressure, PaA + + + + + paG + Pressure, Pascal, gauge pressure, PaG + + + + + psiA + Pressure, Pounds per square inch, absolute, psiA + + + + + psiG + Pressure, Pounds per square inch, gauge, psiG + + + + + q + Quantity power, Q, Q + + + + + q45 + Quantity power, Q measured at 45º, Q45 + + + + + q45h + Quantity energy, Q measured at 45º, Q45h + + + + + q60 + Quantity power, Q measured at 60º, Q60 + + + + + q60h + Quantity energy, Qh measured at 60º, Q60h + + + + + qh + Quantity energy, Qh, Qh + + + + + radPerSec + Angular velocity, radians per second, rad/s + + + + + rev + Amount of rotation, Revolutions, rev + + + + + revPerSec + Rotational speed, Rotations per second, rev/s + + + + + secPerSec + Time, Ratio of time (can be combined with an multiplier prefix to show rates such as a clock drift rate, e.g. “µs/s”), s/s + + + + + sr + Solid angle, Steradian (m2/m2), sr + + + + + status + State, "1" = "true", "live", "on", "high", "set"; "0" = "false", "dead", "off", "low", "cleared"Note: A Boolean value is preferred but other values may be supported, status + + + + + sv + Doe equivalent, Sievert (J/kg), Sv + + + + + t + Magnetic flux density, Tesla (Wb/m2), T + + + + + therm + Energy, Therm, therm + + + + + timeStamp + Timestamp, time and date per ISO 8601 format, timeStamp + + + + + usGal + Volume, US gallons, Gal + + + + + usGalPerH + Volumetric flow rate, US gallons per hour, USGal/h + + + + + V2 + Volts squared, Volt squared (W2/A2), V² + + + + + V2h + volt-squared hour, Volt-squared-hours, V²h + + + + + VAhPerRev + Kh-Vah, apparent energy metering constant, VAh/rev + + + + + VArhPerRev + Kh-VArh, reactive energy metering constant, VArh/rev + + + + + VPerHz + Magnetic flux, Volts per Hertz, V/Hz + + + + + VPerV + Voltage, Ratio of voltages (e.g. mV/V), V/V + + + + + Vs + Volt seconds, Volt seconds (Ws/A), Vs + + + + + wb + Magnetic flux, Weber (V s), Wb + + + + + WhPerM3 + Wh/m3, energy per volume, Wh/m³ + + + + + WhPerRev + Kh-Wh, active energy metering constant, Wh/rev + + + + + wPerMK + Thermal conductivity, Watt/meter Kelvin, W/m K + + + + + WPerSec + Ramp rate, Watts per second, W/s + + + + + WPerVA + Power Factor, PF, W/VA + + + + + WPerW + Signal Strength, Ratio of power, W/W + + + + + + + + + indicates the status code of the associated transaction + + + + + + + Ok + + + + + + Created + + + + + + No Content + + + + + + Moved Permanently + + + + + + Redirect + + + + + + Not Modified + + + + + + Bad Request + + + + + + Unauthorized + + + + + + Forbidden + + + + + + Not Found + + + + + + Method Not Allowed + + + + + + Gone + + + + + + Internal Server Error + + + + + + + + + + Specifies the operation requrested of this item + + + + + + + Create + + + + + + Read + + + + + + Update + + + + + + Delete + + + + + + + + + + + + + + + + + Review + + + + + + Production (Live) + + + + + + On Hold + + + + + + Revoked + + + + + + + + + + + + + + + + + Development + + + + + + ReviewTest + + + + + + Production + Live + + + + + Retired + Remove + + + + + + + + + + + + + + + + Web + The application is on the web + + + + + Desktop + The application is on a desktop + + + + + Mobile + The application is on a mobil device + + + + + Device + The application is on another device + + + + + + + + + + + + + + + + EnergyManagement + + + + + + Comparisons + + + + + + Government + + + + + + Academic + + + + + + LawEnforcement + + + + + + + + + + + + + + + + + Revoked + + + + + + Active + + + + + + + + + + + + + + + + + Unavailable + + + + + + Normal + + + + + + + + + + [extension] Bit map encoded rule from which is calculated the start or end time, within the current year, to which daylight savings time offset must be applied. + +The rule encoding: +Bits 0 - 11: seconds 0 - 3599 +Bits 12 - 16: hours 0 - 23 +Bits 17 - 19: day of the week 0 = not applicable, 1 - 7 (Monday = 1) +Bits:20 - 24: day of the month 0 = not applicable, 1 - 31 +Bits: 25 - 27: operator (detailed below) +Bits: 28 - 31: month 1 - 12 + +Rule value of 0xFFFFFFFF means rule processing/DST correction is disabled. + +The operators: + +0: DST starts/ends on the Day of the Month +1: DST starts/ends on the Day of the Week that is on or after the Day of the Month +2: DST starts/ends on the first occurrence of the Day of the Week in a month +3: DST starts/ends on the second occurrence of the Day of the Week in a month +4: DST starts/ends on the third occurrence of the Day of the Week in a month +5: DST starts/ends on the forth occurrence of the Day of the Week in a month +6: DST starts/ends on the fifth occurrence of the Day of the Week in a month +7: DST starts/ends on the last occurrence of the Day of the Week in a month + +An example: DST starts on third Friday in March at 1:45 AM. The rule... +Seconds: 2700 +Hours: 1 +Day of Week: 5 +Day of Month: 0 +Operator: 4 +Month: 3 + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_power_20b.xsd b/schema/2b/oadr_power_20b.xsd new file mode 100644 index 0000000..9a6d35b --- /dev/null +++ b/schema/2b/oadr_power_20b.xsd @@ -0,0 +1,260 @@ + + + + + + + + + + The EndDeviceAssets are the physical device or devices which could be meters or other types of devices that may be of interest + + + + + + + + + + The MeterAsset is the physical device or devices that performs the role of the meter + + + + + + + + + + A pricing node is directly associated with a connectivity node. It is a pricing location for which market participants submit their bids, offers, buy/sell CRRs, and settle. + + + + + + + + + An aggregated pricing node is a specialized type of pricing node used to model items such as System Zone, Default Price Zone, Custom Price Zone, Control Area, Aggregated Generation, Aggregated Participating Load, Aggregated Non-Participating Load, Trading Hub, DCA Zone + + + + + + + + + A customer ServiceLocation has one or more ServiceDeliveryPoint(s), which in turn relate to Meters. The location may be a point or a polygon, depending on the specific circumstances. For distribution, the ServiceLocation is typically the location of the utility customer's premise. + + + + + + + + + Logical point on the network where the ownership of the service changes hands. It is one of potentially many service points within a ServiceLocation, delivering service in accordance with a CustomerAgreement. Used at the place where a meter may be installed. + + + + + + + + + + The Transport Interface delineates the edges at either end of a transport segment. + + + + + + + + + + + The Node is a place where something changes (often ownership) or connects on the grid. Many nodes are associated with meters, but not all are. + + + + + + + + + The mRID identifies the physical device that may be a CustomerMeter or other types of EndDevices. + + + + + + + + Voltage + + + + + + + + + + + + + + + + Apparent Energy, measured in volt-ampere hours (VAh) + + + + + + + + + + + + + + + Reactive Energy, volt-amperes reactive hours (VARh) + + + + + + + + + + + + + + + Real Energy, Watt Hours (Wh) + + + + + + + + + + + + + + + + + + Base for the measurement of Energy + + + + + + + + + + + + + + + + + + + Apparent Power measured in volt-amperes (VA) + + + + + + + + + + + + + + + + + Reactive power, measured in volt-amperes reactive (VAR) + + + + + + + + + + + + + + + + + Real power measured in Watts (W) or Joules/second (J/s) + + + + + + + + + + + + + + + + + + + + + + + + + + Base for the measurement of Power + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_pyld_20b.xsd b/schema/2b/oadr_pyld_20b.xsd new file mode 100644 index 0000000..5d8a88e --- /dev/null +++ b/schema/2b/oadr_pyld_20b.xsd @@ -0,0 +1,52 @@ + + + + + + + + + + + A ID used to match up a logical transaction request and response + + + + + + + + Request Event from a VTN in pull mode + + + + + + + + Limit the number of events contained in the oadrDistributeEvent payload + + + + + + + + + Respond to a DR Event with optIn or optOut + + + + + + + + + + + + + Indicates if report (in the form of UpdateReport) to be returned following cancellation of Report + + + diff --git a/schema/2b/oadr_siscale_20b.xsd b/schema/2b/oadr_siscale_20b.xsd new file mode 100644 index 0000000..b97465f --- /dev/null +++ b/schema/2b/oadr_siscale_20b.xsd @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + Scale based on representations of SI scale as expressed in the unit multipliers + enumeration + + + + + Pico 10**-12 + -12 + + + + + Nano 10**-9 + -9 + + + + + Micro 10**-6 + -6 + + + + + Milli 10**-3 + -3 + + + + + Centi 10**-2 + -2 + + + + + Deci 10**-1 + -1 + + + + + Kilo 10**3 + 3 + + + + + Mega 10**6 + 6 + + + + + Giga 10**9 + 9 + + + + + Tera 10**12 + 12 + + + + + Native Scale + 0 + + + + + diff --git a/schema/2b/oadr_strm_20b.xsd b/schema/2b/oadr_strm_20b.xsd new file mode 100644 index 0000000..c705614 --- /dev/null +++ b/schema/2b/oadr_strm_20b.xsd @@ -0,0 +1,36 @@ + + + + + + + + + + Time intervals during which the DR event is active or report data is available + + + + + + + + + + + Abstract class to convey a payload for a stream. When a Stream is transformed to or from a WS-Calendar Interval, the contents of the Stream Payload defined element are transformed into the contents of a WS-Calendar artifactBase. + + + + + + + abstract base for communication of schedules for signals and observations + + + + + + + + diff --git a/schema/2b/oadr_xcal_20b.xsd b/schema/2b/oadr_xcal_20b.xsd new file mode 100644 index 0000000..f320d5b --- /dev/null +++ b/schema/2b/oadr_xcal_20b.xsd @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + The duration of the activity, data, or state + + + + + + + + + + + + + + + + + + Used as an index to identify intervals + + + + + + + + + + + + The starting time for the activity, data, or state change + + + + + + + + + + + + + + + + Set randomization period for start of event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A schedule reflecting device availability for participating in DR events + + + + + + + + + + + + + + + + + + + + An interval takes no sub-components. + + + + + + + diff --git a/schema/2b/oadr_xml.xsd b/schema/2b/oadr_xml.xsd new file mode 100644 index 0000000..3ab47f9 --- /dev/null +++ b/schema/2b/oadr_xml.xsd @@ -0,0 +1,108 @@ + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2001/03/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself. In other words, if the XML Schema namespace changes, the version + of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2001/03/xml.xsd will not change. + + + + + In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . . + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + + + + diff --git a/schema/2b/oadr_xmldsig-properties-schema.xsd b/schema/2b/oadr_xmldsig-properties-schema.xsd new file mode 100644 index 0000000..485122c --- /dev/null +++ b/schema/2b/oadr_xmldsig-properties-schema.xsd @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_xmldsig.xsd b/schema/2b/oadr_xmldsig.xsd new file mode 100644 index 0000000..87b5bbb --- /dev/null +++ b/schema/2b/oadr_xmldsig.xsd @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schema/2b/oadr_xmldsig11.xsd b/schema/2b/oadr_xmldsig11.xsd new file mode 100644 index 0000000..7e34ed9 --- /dev/null +++ b/schema/2b/oadr_xmldsig11.xsd @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sconsHelper.py b/sconsHelper.py new file mode 100644 index 0000000..8e7d4f9 --- /dev/null +++ b/sconsHelper.py @@ -0,0 +1,33 @@ +import glob +import os +import shutil + +from SCons.Script import * + +# +# binaryType: shared, static, program +# +def build(artifact, includes, cflags, libpath, libs, buildmode, binaryType): + + env = Environment(CPPPATH = includes, CCFLAGS = cflags, LIBPATH = libpath, LIBS = libs) + + print("Preparing artifact {0}".format(artifact)) + + list = [] + + for root, dirnames, filenames in os.walk(artifact): + + print(" adding dir {0}".format(buildmode + "/" + root)) + + # print root, dirnames, filenames + env.VariantDir(buildmode + "/" + root, root, duplicate=0) + + list = list + Glob(buildmode + "/" + root + "/*.cpp") + list = list + Glob(buildmode + "/" + root + "/*.cxx") + + if binaryType == "shared": + env.SharedLibrary(buildmode + "/" + artifact, list) + + elif binaryType == "program": + env.Program(buildmode + "/" + artifact + ".out", list) + diff --git a/xsd-4.0.0/README b/xsd-4.0.0/README new file mode 100644 index 0000000..d7cedaa --- /dev/null +++ b/xsd-4.0.0/README @@ -0,0 +1,4 @@ +* Code Synthesis headers v4.0.0 + +This directory contains a copy of the Code Synthesis xsd tool, pre-release v4.0.0. + diff --git a/xsd-4.0.0/xsd/cxx/auto-array.hxx b/xsd-4.0.0/xsd/cxx/auto-array.hxx new file mode 100644 index 0000000..64c454a --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/auto-array.hxx @@ -0,0 +1,120 @@ +// file : xsd/cxx/auto-array.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_AUTO_ARRAY_HXX +#define XSD_CXX_AUTO_ARRAY_HXX + +#include // XSD_CXX11 + +#ifdef XSD_CXX11 +# error use std::unique_ptr instead of non-standard auto_array +#endif + +#include // std::size_t + +namespace xsd +{ + namespace cxx + { + template + struct std_array_deleter + { + void + operator() (T* p) const + { + delete[] p; + } + }; + + // Simple automatic array. The second template parameter is + // an optional deleter type. If not specified, delete[] + // is used. + // + template > + struct auto_array + { + auto_array (T a[]) + : a_ (a), d_ (0) + { + } + + auto_array (T a[], const D& d) + : a_ (a), d_ (&d) + { + } + + ~auto_array () + { + if (d_ != 0) + (*d_) (a_); + else + delete[] a_; + } + + T& + operator[] (std::size_t index) const + { + return a_[index]; + } + + T* + get () const + { + return a_; + } + + T* + release () + { + T* tmp (a_); + a_ = 0; + return tmp; + } + + void + reset (T a[] = 0) + { + if (a_ != a) + { + if (d_ != 0) + (*d_) (a_); + else + delete[] a_; + + a_ = a; + } + } + + typedef void (auto_array::*bool_convertible)(); + + operator bool_convertible () const + { + return a_ ? &auto_array::true_ : 0; + } + + private: + auto_array (const auto_array&); + + auto_array& + operator= (const auto_array&); + + private: + void + true_ (); + + private: + T* a_; + const D* d_; + }; + + template + void auto_array:: + true_ () + { + } + } +} + +#endif // XSD_CXX_AUTO_ARRAY_HXX diff --git a/xsd-4.0.0/xsd/cxx/compilers/vc-8/post.hxx b/xsd-4.0.0/xsd/cxx/compilers/vc-8/post.hxx new file mode 100644 index 0000000..86c6e56 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/compilers/vc-8/post.hxx @@ -0,0 +1,6 @@ +// file : xsd/cxx/compilers/vc-8/post.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#pragma warning (pop) diff --git a/xsd-4.0.0/xsd/cxx/compilers/vc-8/pre.hxx b/xsd-4.0.0/xsd/cxx/compilers/vc-8/pre.hxx new file mode 100644 index 0000000..a03ce60 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/compilers/vc-8/pre.hxx @@ -0,0 +1,28 @@ +// file : xsd/cxx/compilers/vc-8/pre.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +// These warnings had to be disabled "for good". +// +#pragma warning (disable:4250) // inherits via dominance +#pragma warning (disable:4661) // no definition for explicit instantiation + + +// Push warning state. +// +#pragma warning (push, 3) + + +// Disabled warnings. +// +#pragma warning (disable:4355) // passing 'this' to a member +#pragma warning (disable:4800) // forcing value to bool +#pragma warning (disable:4275) // non dll-interface base +#pragma warning (disable:4251) // base needs to have dll-interface +#pragma warning (disable:4224) // nonstandard extension (/Za option) + + +// Elevated warnings. +// +#pragma warning (2:4239) // standard doesn't allow this conversion diff --git a/xsd-4.0.0/xsd/cxx/config.hxx b/xsd-4.0.0/xsd/cxx/config.hxx new file mode 100644 index 0000000..e4d6a48 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/config.hxx @@ -0,0 +1,48 @@ +// file : xsd/cxx/config.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_CONFIG_HXX +#define XSD_CXX_CONFIG_HXX + +#include + +// Available C++11 features. +// +#ifdef XSD_CXX11 +#ifdef _MSC_VER +# if _MSC_VER >= 1600 +# define XSD_CXX11_NULLPTR +# if _MSC_VER >= 1800 +# define XSD_CXX11_TEMPLATE_ALIAS +# endif +# endif +#else +# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L +# ifdef __GNUC__ +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 +# define XSD_CXX11_NULLPTR +# endif +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || __GNUC__ > 4 +# define XSD_CXX11_TEMPLATE_ALIAS +# endif +# else +# define XSD_CXX11_NULLPTR +# define XSD_CXX11_TEMPLATE_ALIAS +# endif +# endif +#endif +#endif // XSD_CXX11 + +#ifdef XSD_CXX11 +# define XSD_AUTO_PTR std::unique_ptr +#else +# define XSD_AUTO_PTR std::auto_ptr +#endif + +// Macro to suppress the unused variable warning. +// +#define XSD_UNUSED(x) (void)x + +#endif // XSD_CXX_CONFIG_HXX diff --git a/xsd-4.0.0/xsd/cxx/exceptions.hxx b/xsd-4.0.0/xsd/cxx/exceptions.hxx new file mode 100644 index 0000000..39dd903 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/exceptions.hxx @@ -0,0 +1,21 @@ +// file : xsd/cxx/exceptions.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_EXCEPTIONS_HXX +#define XSD_CXX_EXCEPTIONS_HXX + +#include // std::exception + +namespace xsd +{ + namespace cxx + { + struct exception: std::exception + { + }; + } +} + +#endif // XSD_CXX_EXCEPTIONS_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/document.hxx b/xsd-4.0.0/xsd/cxx/parser/document.hxx new file mode 100644 index 0000000..ba69759 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/document.hxx @@ -0,0 +1,90 @@ +// file : xsd/cxx/parser/document.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_DOCUMENT_HXX +#define XSD_CXX_PARSER_DOCUMENT_HXX + +#include +#include // std::size_t + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // If you want to use a different underlying XML parser, all you + // need to do is to route events to this interface. + // + template + class document + { + public: + virtual + ~document (); + + document (parser_base& root, + const std::basic_string& ns, + const std::basic_string& name); + + public: + // The type argument is a type name and namespace from the + // xsi:type attribute in the form " " with + // the space and namespace part absent if the type does not + // have a namespace or 0 if xsi:type is not present. + // + void + start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + void + end_element (const ro_string& ns, const ro_string& name); + + void + attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + void + characters (const ro_string&); + + protected: + document (); + + // This function is called to obtain the root element type parser. + // If the returned pointed is 0 then the whole document content + // is ignored. + // + virtual parser_base* + start_root_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + // This function is called to indicate the completion of document + // parsing. The parser argument contains the pointer returned by + // start_root_element. + // + virtual void + end_root_element (const ro_string& ns, + const ro_string& name, + parser_base* parser); + + private: + parser_base* root_; + std::basic_string ns_; + std::basic_string name_; + std::size_t depth_; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_DOCUMENT_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/document.txx b/xsd-4.0.0/xsd/cxx/parser/document.txx new file mode 100644 index 0000000..2cd132a --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/document.txx @@ -0,0 +1,129 @@ +// file : xsd/cxx/parser/document.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // document + // + template + document:: + ~document () + { + } + + template + document:: + document (parser_base& root, + const std::basic_string& ns, + const std::basic_string& name) + : root_ (&root), ns_ (ns), name_ (name), depth_ (0) + { + } + + template + document:: + document () + : root_ (0), depth_ (0) + { + } + + template + void document:: + start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + if (depth_++ > 0) + { + if (root_) + root_->_start_element (ns, name, type); + } + else + { + root_ = start_root_element (ns, name, type); + + if (root_) + { + // pre () is called by the user. + // + root_->_pre_impl (); + } + } + } + + template + void document:: + end_element (const ro_string& ns, const ro_string& name) + { + assert (depth_ > 0); + + if (--depth_ > 0) + { + if (root_) + root_->_end_element (ns, name); + } + else + { + if (root_) + { + root_->_post_impl (); + // + // post() is called by the user. + } + + end_root_element (ns, name, root_); + } + } + + template + void document:: + attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + if (root_) + root_->_attribute (ns, name, value); + } + + template + void document:: + characters (const ro_string& s) + { + if (root_) + root_->_characters (s); + } + + template + parser_base* document:: + start_root_element (const ro_string& ns, + const ro_string& name, + const ro_string*) + { + if (name_ == name && ns_ == ns) + { + return root_; + } + else + throw expected_element (ns_, name_, ns, name); + } + + template + void document:: + end_root_element (const ro_string&, + const ro_string&, + parser_base*) + { + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/elements.hxx b/xsd-4.0.0/xsd/cxx/parser/elements.hxx new file mode 100644 index 0000000..aaba397 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/elements.hxx @@ -0,0 +1,95 @@ +// file : xsd/cxx/parser/elements.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_ELEMENTS_HXX +#define XSD_CXX_PARSER_ELEMENTS_HXX + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // pre() and post() are overridable pre/post callbacks, i.e., the + // derived parser can override them without calling the base version. + // _pre() and _post() are not overridable pre/post callbacks in the + // sense that the derived parser may override them but has to call + // the base version. The call sequence is as shown below: + // + // pre () + // _pre () + // _post () + // post () + // + template + class parser_base + { + public: + virtual + ~parser_base (); + + virtual void + pre (); + + virtual void + _pre (); + + // The type argument is a type name and namespace from the + // xsi:type attribute in the form " " with + // the space and namespace part absent if the type does not + // have a namespace or 0 if xsi:type is not present. + // + virtual void + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) = 0; + + virtual void + _end_element (const ro_string& ns, + const ro_string& name) = 0; + + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) = 0; + + virtual void + _characters (const ro_string&) = 0; + + virtual void + _post (); + + // The post() signature varies depending on the parser return + // type. + // + + // Implementation callbacks for _pre and _post. The _pre and _post + // callbacks should never be called directly. Instead, the *_impl + // versions should be used. By default _pre_impl and _post_impl + // simply call _pre and _post respectively. + // + virtual void + _pre_impl (); + + virtual void + _post_impl (); + + public: + // Dynamic type in the form " " with + // the space and namespace part absent if the type does + // not have a namespace. Used in polymorphism-aware code. + // + virtual const C* + _dynamic_type () const; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_ELEMENTS_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/elements.txx b/xsd-4.0.0/xsd/cxx/parser/elements.txx new file mode 100644 index 0000000..dc3e4df --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/elements.txx @@ -0,0 +1,60 @@ +// file : xsd/cxx/parser/elements.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // parser_base + // + template + parser_base:: + ~parser_base () + { + } + + template + void parser_base:: + pre () + { + } + + template + void parser_base:: + _pre () + { + } + + template + void parser_base:: + _post () + { + } + + template + void parser_base:: + _pre_impl () + { + _pre (); + } + + template + void parser_base:: + _post_impl () + { + _post (); + } + + template + const C* parser_base:: + _dynamic_type () const + { + return 0; + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/error-handler.hxx b/xsd-4.0.0/xsd/cxx/parser/error-handler.hxx new file mode 100644 index 0000000..c2b0f89 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/error-handler.hxx @@ -0,0 +1,57 @@ +// file : xsd/cxx/parser/error-handler.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_ERROR_HANDLER_HXX +#define XSD_CXX_PARSER_ERROR_HANDLER_HXX + +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + template + class error_handler: public xml::error_handler + { + public: + typedef typename xml::error_handler::severity severity; + + error_handler () + : failed_ (false) + { + } + + virtual bool + handle (const std::basic_string& id, + unsigned long line, + unsigned long column, + severity s, + const std::basic_string& message); + + void + throw_if_failed () const; + + void + reset () + { + failed_ = false; + diagnostics_.clear (); + } + + private: + bool failed_; + diagnostics diagnostics_; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_ERROR_HANDLER_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/error-handler.txx b/xsd-4.0.0/xsd/cxx/parser/error-handler.txx new file mode 100644 index 0000000..34dfe52 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/error-handler.txx @@ -0,0 +1,41 @@ +// file : xsd/cxx/parser/error-handler.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + template + bool error_handler:: + handle (const std::basic_string& id, + unsigned long line, + unsigned long column, + severity s, + const std::basic_string& message) + { + diagnostics_.push_back ( + error (s == severity::warning + ? cxx::parser::severity::warning + : cxx::parser::severity::error, + id, line, column, message)); + + if (!failed_ && s != severity::warning) + failed_ = true; + + return true; + } + + template + void error_handler:: + throw_if_failed () const + { + if (failed_) + throw parsing (diagnostics_); + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/exceptions.hxx b/xsd-4.0.0/xsd/cxx/parser/exceptions.hxx new file mode 100644 index 0000000..bd026e0 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/exceptions.hxx @@ -0,0 +1,153 @@ +// file : xsd/cxx/parser/exceptions.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_EXCEPTIONS_HXX +#define XSD_CXX_PARSER_EXCEPTIONS_HXX + +#include +#include +#include + +#include // xsd::cxx::exception +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // + // + template + struct exception: xsd::cxx::exception + { + friend + std::basic_ostream& + operator<< (std::basic_ostream& os, const exception& e) + { + e.print (os); + return os; + } + + protected: + virtual void + print (std::basic_ostream&) const = 0; + }; + + + // + // + struct severity + { + enum value + { + warning, + error + }; + + severity (value v) : v_ (v) {} + operator value () const { return v_; } + + private: + value v_; + }; + + template + struct error + { + error (cxx::parser::severity, + const std::basic_string& id, + unsigned long line, + unsigned long column, + const std::basic_string& message); + + cxx::parser::severity + severity () const + { + return severity_; + } + + const std::basic_string& + id () const + { + return id_; + } + + unsigned long + line () const + { + return line_; + } + + unsigned long + column () const + { + return column_; + } + + const std::basic_string& + message () const + { + return message_; + } + + private: + cxx::parser::severity severity_; + std::basic_string id_; + unsigned long line_; + unsigned long column_; + std::basic_string message_; + }; + + // See exceptions.ixx for operator<< (error). + + + // + // + template + struct diagnostics: std::vector > + { + }; + + // See exceptions.ixx for operator<< (diagnostics). + + // + // + template + struct parsing: exception + { + virtual + ~parsing () throw (); + + parsing (); + + parsing (const cxx::parser::diagnostics&); + + const cxx::parser::diagnostics& + diagnostics () const + { + return diagnostics_; + } + + virtual const char* + what () const throw (); + + protected: + virtual void + print (std::basic_ostream&) const; + + private: + cxx::parser::diagnostics diagnostics_; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_EXCEPTIONS_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/exceptions.ixx b/xsd-4.0.0/xsd/cxx/parser/exceptions.ixx new file mode 100644 index 0000000..456fffe --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/exceptions.ixx @@ -0,0 +1,129 @@ +// file : xsd/cxx/parser/exceptions.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR +#define XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // error + // + inline + std::basic_ostream& + operator<< (std::basic_ostream& os, const error& e) + { + return os << e.id () << ':' << e.line () << ':' << e.column () + << (e.severity () == severity::error + ? " error: " + : " warning: ") << e.message (); + } + + + // diagnostics + // + inline + std::basic_ostream& + operator<< (std::basic_ostream& os, const diagnostics& d) + { + for (diagnostics::const_iterator b (d.begin ()), i (b); + i != d.end (); + ++i) + { + if (i != b) + os << "\n"; + + os << *i; + } + + return os; + } + + // parsing + // + template<> + inline + void parsing:: + print (std::basic_ostream& os) const + { + if (diagnostics_.empty ()) + os << "instance document parsing failed"; + else + os << diagnostics_; + } + } + } +} + +#endif // XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR +#define XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // error + // + inline + std::basic_ostream& + operator<< (std::basic_ostream& os, const error& e) + { + return os << e.id () << L':' << e.line () << L':' << e.column () + << (e.severity () == severity::error + ? L" error: " + : L" warning: ") << e.message (); + } + + // diagnostics + // + inline + std::basic_ostream& + operator<< (std::basic_ostream& os, + const diagnostics& d) + { + for (diagnostics::const_iterator b (d.begin ()), i (b); + i != d.end (); + ++i) + { + if (i != b) + os << L"\n"; + + os << *i; + } + + return os; + } + + // parsing + // + template<> + inline + void parsing:: + print (std::basic_ostream& os) const + { + if (diagnostics_.empty ()) + os << L"instance document parsing failed"; + else + os << diagnostics_; + } + } + } +} + +#endif // XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/exceptions.txx b/xsd-4.0.0/xsd/cxx/parser/exceptions.txx new file mode 100644 index 0000000..995b6d8 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/exceptions.txx @@ -0,0 +1,59 @@ +// file : xsd/cxx/parser/exceptions.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // error + // + template + error:: + error (cxx::parser::severity s, + const std::basic_string& id, + unsigned long line, + unsigned long column, + const std::basic_string& message) + : severity_ (s), + id_ (id), + line_ (line), + column_ (column), + message_ (message) + { + } + + + // parsing + // + template + parsing:: + ~parsing () throw () + { + } + + template + parsing:: + parsing () + { + } + + template + parsing:: + parsing (const cxx::parser::diagnostics& diagnostics) + : diagnostics_ (diagnostics) + { + } + + template + const char* parsing:: + what () const throw () + { + return "instance document parsing failed"; + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/expat/elements.hxx b/xsd-4.0.0/xsd/cxx/parser/expat/elements.hxx new file mode 100644 index 0000000..d47106b --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/expat/elements.hxx @@ -0,0 +1,363 @@ +// file : xsd/cxx/parser/expat/elements.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX +#define XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX + +#include // XSD_CXX11 + +#include +#include +#include // std::size_t +#include + +#ifdef XSD_CXX11 +# include // std::unique_ptr +#endif + +#include + +// We only support UTF-8 expat for now. +// +#ifdef XML_UNICODE +#error UTF-16 expat (XML_UNICODE defined) is not supported +#endif + +#include + +#include +#include +#include +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace expat + { +#ifdef XSD_CXX11 + struct parser_deleter + { + void + operator() (XML_Parser p) const + { + if (p != 0) + XML_ParserFree (p); + } + }; + + typedef std::unique_ptr parser_auto_ptr; +#else + // Simple auto pointer for Expat's XML_Parser object. + // + struct parser_auto_ptr + { + ~parser_auto_ptr () + { + if (parser_ != 0) + XML_ParserFree (parser_); + } + + explicit + parser_auto_ptr (XML_Parser parser = 0) + : parser_ (parser) + { + } + + parser_auto_ptr& + operator= (XML_Parser parser) + { + if (parser_ != 0) + XML_ParserFree (parser_); + + parser_ = parser; + return *this; + } + + XML_Parser + get () const + { + return parser_; + } + + private: + parser_auto_ptr (const parser_auto_ptr&); + + parser_auto_ptr& + operator= (const parser_auto_ptr&); + + private: + XML_Parser parser_; + }; +#endif // XSD_CXX11 + + // + // + template + struct document: cxx::parser::document // VC likes it qualified + { + public: + document (parser_base&, + const C* root_element_name, + bool polymorphic = false); + + document (parser_base&, + const std::basic_string& root_element_name, + bool polymorphic = false); + + document (parser_base&, + const C* root_element_namespace, + const C* root_element_name, + bool polymorphic = false); + + document (parser_base&, + const std::basic_string& root_element_namespace, + const std::basic_string& root_element_name, + bool polymorphic = false); + + protected: + document (bool polymorphic = false); + + public: + // Parse a local file. The file is accessed with std::ifstream + // in binary mode. The std::ios_base::failure exception is used + // to report io errors (badbit and failbit). + void + parse (const std::basic_string& file); + + // Parse a local file with a user-provided error_handler + // object. The file is accessed with std::ifstream in binary + // mode. The std::ios_base::failure exception is used to report + // io errors (badbit and failbit). + // + void + parse (const std::basic_string& file, xml::error_handler&); + + public: + // System id is a "system" identifier of the resources (e.g., + // URI or a full file path). Public id is a "public" identifier + // of the resource (e.g., application-specific name or relative + // file path). System id is used to resolve relative paths. + // In diagnostics messages system id is used if public id is + // not available. Otherwise public id is used. + // + + // Parse std::istream. + // + void + parse (std::istream&); + + // Parse std::istream with a user-provided error_handler object. + // + void + parse (std::istream&, xml::error_handler&); + + // Parse std::istream with a system id. + // + void + parse (std::istream&, const std::basic_string& system_id); + + // Parse std::istream with a system id and a user-provided + // error_handler object. + // + void + parse (std::istream&, + const std::basic_string& system_id, + xml::error_handler&); + + // Parse std::istream with system and public ids. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id); + + // Parse std::istream with system and public ids and a user-provided + // error_handler object. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler&); + + public: + // Parse a chunk of input. You can call these functions multiple + // times with the last call having the last argument true. + // + void + parse (const void* data, std::size_t size, bool last); + + void + parse (const void* data, std::size_t size, bool last, + xml::error_handler&); + + void + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id); + + void + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + xml::error_handler&); + + void + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + const std::basic_string& public_id); + + void + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler&); + + public: + // Low-level Expat-specific parsing API. A typical use case + // would look like this (pseudo-code): + // + // xxx_pimpl root; + // document doc (root, "root"); + // + // root.pre (); + // doc.parse_begin (xml_parser, "file.xml"); + // + // while (more_stuff_to_parse &&) + // { + // // Call XML_Parse or XML_ParseBuffer. + // + // if (status == XML_STATUS_ERROR) + // break; + // } + // + // // Call parse_end even in case of an error to translate + // // XML and Schema errors to exceptions or error_handler + // // calls. + // // + // doc.parse_end (); + // result_type result (root.post_xxx ()); + // + // Notes: + // + // 1. If your XML instances use XML namespaces, the + // XML_ParserCreateNS functions should be used to create the + // XML parser. Space (XML_Char (' ')) should be used as a + // separator (the second argument to XML_ParserCreateNS). + // + void + parse_begin (XML_Parser); + + void + parse_begin (XML_Parser, const std::basic_string& public_id); + + void + parse_begin (XML_Parser, xml::error_handler&); + + void + parse_begin (XML_Parser, + const std::basic_string& public_id, + xml::error_handler&); + void + parse_end (); + + // Event routing. + // + public: + static void XMLCALL + start_element_thunk_ (void*, const XML_Char*, const XML_Char**); + + static void XMLCALL + end_element_thunk_ (void*, const XML_Char*); + + static void XMLCALL + characters_thunk_ (void*, const XML_Char*, int); + + static void XMLCALL + start_namespace_decl_thunk_ ( + void*, const XML_Char*, const XML_Char*); + + static void XMLCALL + end_namespace_decl_thunk_ (void*, const XML_Char*); + + protected: + void + start_element_ (const XML_Char* ns_name, const XML_Char** atts); + + void + end_element_ (const XML_Char* ns_name); + + void + characters_ (const XML_Char* s, std::size_t n); + + void + start_namespace_decl_ (const XML_Char* prefix, const XML_Char* ns); + + void + end_namespace_decl_ (const XML_Char* prefix); + + protected: + void + set (); + + void + clear (); + + bool + parse (std::istream&, + const std::basic_string* system_id, + const std::basic_string* public_id, + xml::error_handler&); + + bool + parse (const void* data, std::size_t size, bool last, + const std::basic_string* system_id, + const std::basic_string* public_id, + xml::error_handler&); + + + void + translate_schema_exception (const schema_exception& e); + + protected: + XML_Parser xml_parser_; + parser_auto_ptr auto_xml_parser_; + + xml::error_handler* eh_; + error_handler default_eh_; + std::basic_string public_id_; + + bool polymorphic_; + + // Namespace-prefix mapping. Only maintained in the polymorphic + // case. + // + struct ns_decl + { + ns_decl (const std::basic_string& p, + const std::basic_string& n) + : prefix (p), ns (n) + { + } + + std::basic_string prefix; + std::basic_string ns; + }; + + typedef std::vector ns_decls; + + ns_decls ns_decls_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/expat/elements.txx b/xsd-4.0.0/xsd/cxx/parser/expat/elements.txx new file mode 100644 index 0000000..f3df667 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/expat/elements.txx @@ -0,0 +1,822 @@ +// file : xsd/cxx/parser/expat/elements.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include // std::bad_alloc +#include +#include +#include // std::strchr +#include + +#include // xml::bits::{xml_prefix, etc} + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace expat + { + + // document + // + + template + document:: + document (parser_base& p, + const std::basic_string& name, + bool polymorphic) + : cxx::parser::document (p, std::basic_string (), name), + xml_parser_ (0), + eh_ (0), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& p, + const C* name, + bool polymorphic) + : cxx::parser::document (p, std::basic_string (), name), + xml_parser_ (0), + eh_ (0), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& p, + const C* ns, + const C* name, + bool polymorphic) + : cxx::parser::document (p, ns, name), + xml_parser_ (0), + eh_ (0), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& p, + const std::basic_string& ns, + const std::basic_string& name, + bool polymorphic) + : cxx::parser::document (p, ns, name), + xml_parser_ (0), + eh_ (0), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (bool polymorphic) + : xml_parser_ (0), + eh_ (0), + polymorphic_ (polymorphic) + { + } + + // file + // + + template + void document:: + parse (const std::basic_string& file) + { + std::ifstream ifs; + ifs.exceptions (std::ios_base::badbit | std::ios_base::failbit); + ifs.open (file.c_str (), std::ios_base::in | std::ios_base::binary); + + parse (ifs, file); + } + + template + void document:: + parse (const std::basic_string& file, xml::error_handler& eh) + { + std::ifstream ifs; + ifs.exceptions (std::ios_base::badbit | std::ios_base::failbit); + ifs.open (file.c_str (), std::ios_base::in | std::ios_base::binary); + + parse (ifs, file, eh); + } + + + // istream + // + + template + void document:: + parse (std::istream& is) + { + parse (is, 0, 0, default_eh_); + } + + template + void document:: + parse (std::istream& is, xml::error_handler& eh) + { + if (!parse (is, 0, 0, eh)) + throw parsing (); + } + + template + void document:: + parse (std::istream& is, const std::basic_string& system_id) + { + default_eh_.reset (); + parse (is, &system_id, 0, default_eh_); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + xml::error_handler& eh) + { + if (!parse (is, &system_id, 0, eh)) + throw parsing (); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id) + { + default_eh_.reset (); + parse (is, &system_id, &public_id, default_eh_); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler& eh) + { + if (!parse (is, &system_id, &public_id, eh)) + throw parsing (); + } + + // data + // + + template + void document:: + parse (const void* data, std::size_t size, bool last) + { + default_eh_.reset (); + parse (data, size, last, 0, 0, default_eh_); + } + + template + void document:: + parse (const void* data, std::size_t size, bool last, + xml::error_handler& eh) + { + if (!parse (data, size, last, 0, 0, eh)) + throw parsing (); + } + + template + void document:: + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id) + { + default_eh_.reset (); + parse (data, size, last, &system_id, 0, default_eh_); + } + + template + void document:: + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + xml::error_handler& eh) + { + if (!parse (data, size, last, &system_id, 0, eh)) + throw parsing (); + } + + template + void document:: + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + const std::basic_string& public_id) + { + default_eh_.reset (); + parse (data, size, last, &system_id, &public_id, default_eh_); + } + + template + void document:: + parse (const void* data, std::size_t size, bool last, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler& eh) + { + if (!parse (data, size, last, &system_id, &public_id, eh)) + throw parsing (); + } + + // Implementation details. + // + + namespace bits + { + struct stream_exception_controller + { + ~stream_exception_controller () + { + std::ios_base::iostate s = is_.rdstate (); + s &= ~std::ios_base::failbit; + + // If our error state (sans failbit) intersects with the + // exception state then that means we have an active + // exception and changing error/exception state will + // cause another to be thrown. + // + if (!(old_state_ & s)) + { + // Clear failbit if it was caused by eof. + // + if (is_.fail () && is_.eof ()) + is_.clear (s); + + is_.exceptions (old_state_); + } + } + + stream_exception_controller (std::istream& is) + : is_ (is), old_state_ (is_.exceptions ()) + { + is_.exceptions (old_state_ & ~std::ios_base::failbit); + } + + private: + stream_exception_controller (const stream_exception_controller&); + + stream_exception_controller& + operator= (const stream_exception_controller&); + + private: + std::istream& is_; + std::ios_base::iostate old_state_; + }; + }; + + template + bool document:: + parse (std::istream& is, + const std::basic_string* system_id, + const std::basic_string* public_id, + xml::error_handler& eh) + { + parser_auto_ptr parser (XML_ParserCreateNS (0, XML_Char (' '))); + + if (parser == 0) + throw std::bad_alloc (); + + if (system_id || public_id) + parse_begin (parser, system_id ? *system_id : *public_id, eh); + else + parse_begin (parser, eh); + + // Temporarily unset the exception failbit. Also clear the + // fail bit when we reset the old state if it was caused + // by eof. + // + bits::stream_exception_controller sec (is); + + char buf[16384]; // 4 x page size. + + bool r (true); + + do + { + is.read (buf, sizeof (buf)); + + if (is.bad () || (is.fail () && !is.eof ())) + { + // If the stream is not using exceptions then the user + // will have to test for stream failures before calling + // post. + // + break; + } + + if (XML_Parse ( + parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR) + { + r = false; + break; + } + } while (!is.eof ()); + + parse_end (); + return r; + } + + template + bool document:: + parse (const void* data, + std::size_t size, + bool last, + const std::basic_string* system_id, + const std::basic_string* public_id, + xml::error_handler& eh) + { + // First call. + // + if (auto_xml_parser_.get () == 0) + { + auto_xml_parser_ = XML_ParserCreateNS (0, XML_Char (' ')); + + if (auto_xml_parser_.get () == 0) + throw std::bad_alloc (); + + if (system_id || public_id) + parse_begin (auto_xml_parser_.get (), + system_id ? *system_id : *public_id, eh); + else + parse_begin (auto_xml_parser_.get (), eh); + } + + bool r (XML_Parse (xml_parser_, + static_cast (data), + static_cast (size), + last) != XML_STATUS_ERROR); + parse_end (); + return r; + } + + // XML_Parser + // + + template + void document:: + parse_begin (XML_Parser parser) + { + xml_parser_ = parser; + eh_ = &default_eh_; + public_id_.clear (); + set (); + } + + template + void document:: + parse_begin (XML_Parser parser, + const std::basic_string& public_id) + { + xml_parser_ = parser; + eh_ = &default_eh_; + public_id_ = public_id; + set (); + } + + template + void document:: + parse_begin (XML_Parser parser, xml::error_handler& eh) + { + xml_parser_ = parser; + eh_ = &eh; + public_id_.clear (); + set (); + } + + template + void document:: + parse_begin (XML_Parser parser, + const std::basic_string& public_id, + xml::error_handler& eh) + { + xml_parser_ = parser; + eh_ = &eh; + public_id_ = public_id; + set (); + } + + template + void document:: + parse_end () + { + XML_Error e (XML_GetErrorCode (xml_parser_)); + + if (e == XML_ERROR_NONE || e == XML_ERROR_ABORTED) + { + clear (); + xml_parser_ = 0; + auto_xml_parser_ = 0; + } + else + { + unsigned long l = XML_GetCurrentLineNumber (xml_parser_); + unsigned long c = XML_GetCurrentColumnNumber (xml_parser_); + std::basic_string message (XML_ErrorString (e)); + + eh_->handle (public_id_, + l, c, + xml::error_handler::severity::fatal, + message); + + clear (); + xml_parser_ = 0; + auto_xml_parser_ = 0; + + // We don't want to throw an empty parsing exception here + // since the user probably already knows about the error. + } + + if (eh_ == &default_eh_) + default_eh_.throw_if_failed (); + } + + // + // + template + void document:: + set () + { + assert (xml_parser_ != 0); + + XML_SetUserData(xml_parser_, this); + + XML_SetStartElementHandler (xml_parser_, start_element_thunk_); + XML_SetEndElementHandler (xml_parser_, end_element_thunk_); + XML_SetCharacterDataHandler (xml_parser_, characters_thunk_); + + if (polymorphic_) + { + XML_SetNamespaceDeclHandler (xml_parser_, + start_namespace_decl_thunk_, + end_namespace_decl_thunk_); + } + } + + template + void document:: + clear () + { + assert (xml_parser_ != 0); + + XML_SetUserData (xml_parser_, 0); + XML_SetStartElementHandler (xml_parser_, 0); + XML_SetEndElementHandler (xml_parser_, 0); + XML_SetCharacterDataHandler (xml_parser_, 0); + + if (polymorphic_) + XML_SetNamespaceDeclHandler (xml_parser_, 0, 0); + } + + template + void document:: + translate_schema_exception (const schema_exception& e) + { + unsigned long l = XML_GetCurrentLineNumber (xml_parser_); + unsigned long c = XML_GetCurrentColumnNumber (xml_parser_); + + eh_->handle (public_id_, + l, c, + xml::error_handler::severity::fatal, + e.message ()); + + XML_StopParser (xml_parser_, false); + } + + // Event routing. + // + + // Expat thunks. + // + template + void XMLCALL document:: + start_element_thunk_ (void* data, + const XML_Char* ns_name, + const XML_Char** atts) + { + document& d (*reinterpret_cast (data)); + d.start_element_ (ns_name, atts); + } + + template + void XMLCALL document:: + end_element_thunk_ (void* data, const XML_Char* ns_name) + { + document& d (*reinterpret_cast (data)); + d.end_element_ (ns_name); + } + + template + void XMLCALL document:: + characters_thunk_ (void* data, const XML_Char* s, int n) + { + document& d (*reinterpret_cast (data)); + d.characters_ (s, static_cast (n)); + } + + template + void XMLCALL document:: + start_namespace_decl_thunk_ (void* data, + const XML_Char* prefix, + const XML_Char* ns) + { + document& d (*reinterpret_cast (data)); + d.start_namespace_decl_ (prefix, ns); + } + + template + void XMLCALL document:: + end_namespace_decl_thunk_ (void* data, const XML_Char* prefix) + { + document& d (*reinterpret_cast (data)); + d.end_namespace_decl_ (prefix); + } + + namespace bits + { + inline void + split_name (const XML_Char* s, + const char*& ns, std::size_t& ns_s, + const char*& name, std::size_t& name_s) + { + const char* p (std::strchr (s, ' ')); + + if (p) + { + ns = s; + ns_s = p - s; + name = p + 1; + } + else + { + ns = s; + ns_s = 0; + name = s; + } + + name_s = std::char_traits::length (name); + } + } + + template + void document:: + start_element_ (const XML_Char* ns_name, const XML_Char** atts) + { + // Current Expat (2.0.0) has a (mis)-feature of a possibility of + // calling callbacks even after the non-resumable XML_StopParser + // call. The following code accounts for this. + // + { + XML_ParsingStatus s; + XML_GetParsingStatus (xml_parser_, &s); + if (s.parsing == XML_FINISHED) + return; + } + + typedef std::basic_string string; + + const char* ns_p; + const char* name_p; + size_t ns_s, name_s; + + bits::split_name (ns_name, ns_p, ns_s, name_p, name_s); + + { + const ro_string ns (ns_p, ns_s), name (name_p, name_s); + + if (!polymorphic_) + { + try + { + this->start_element (ns, name, 0); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + return; + } + } + else + { + // Search for the xsi:type attribute. + // + const XML_Char** p = atts; // VC8 can't handle p (atts) + for (; *p != 0; p += 2) + { + bits::split_name (*p, ns_p, ns_s, name_p, name_s); + const ro_string ns (ns_p, ns_s), name (name_p, name_s); + + if (name == xml::bits::type () && + ns == xml::bits::xsi_namespace ()) + break; + } + + if (*p == 0) + { + try + { + this->start_element (ns, name, 0); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + return; + } + } + else + { + // @@ Need proper QName validation. + // + // Get the qualified type name and try to resolve it. + // + ro_string qn (*(p + 1)); + + ro_string tp, tn; + typename ro_string::size_type pos (qn.find (C (':'))); + + try + { + if (pos != ro_string::npos) + { + tp.assign (qn.data (), pos); + tn.assign (qn.data () + pos + 1); + + if (tp.empty ()) + throw dynamic_type (qn); + } + else + tn.assign (qn.data (), qn.size ()); + + if (tn.empty ()) + throw dynamic_type (qn); + + // Search our namespace declaration stack. Note that + // we need to do this even if prefix is empty. Sun CC + // 5.7 blows if we use const_reverse_iterator. + // + ro_string tns; + for (typename ns_decls::reverse_iterator + it (ns_decls_.rbegin ()), e (ns_decls_.rend ()); + it != e; ++it) + { + if (it->prefix == tp) + { + tns.assign (it->ns); + break; + } + } + + if (!tp.empty () && tns.empty ()) + { + // The 'xml' prefix requires special handling. + // + if (tp == xml::bits::xml_prefix ()) + tns.assign (xml::bits::xml_namespace ()); + else + throw dynamic_type (qn); + } + + // Construct the compound type id. + // + string id (tn.data (), tn.size ()); + + if (!tns.empty ()) + { + id += C (' '); + id.append (tns.data (), tns.size ()); + } + + ro_string ro_id (id); + this->start_element (ns, name, &ro_id); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + return; + } + } + } + } + + for (; *atts != 0; atts += 2) + { + bits::split_name (*atts, ns_p, ns_s, name_p, name_s); + + const ro_string ns (ns_p, ns_s), name (name_p, name_s); + const ro_string value (*(atts + 1)); + + try + { + this->attribute (ns, name, value); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + break; + } + } + } + + template + void document:: + end_element_ (const XML_Char* ns_name) + { + // Current Expat (2.0.0) has a (mis)-feature of a possibility of + // calling callbacks even after the non-resumable XML_StopParser + // call. The following code accounts for this. + // + { + XML_ParsingStatus s; + XML_GetParsingStatus (xml_parser_, &s); + if (s.parsing == XML_FINISHED) + return; + } + + const char* ns_p; + const char* name_p; + size_t ns_s, name_s; + + bits::split_name (ns_name, ns_p, ns_s, name_p, name_s); + + const ro_string ns (ns_p, ns_s), name (name_p, name_s); + + try + { + this->end_element (ns, name); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + } + } + + template + void document:: + characters_ (const XML_Char* s, std::size_t n) + { + // Current Expat (2.0.0) has a (mis)-feature of a possibility of + // calling callbacks even after the non-resumable XML_StopParser + // call. The following code accounts for this. + // + { + XML_ParsingStatus s; + XML_GetParsingStatus (xml_parser_, &s); + if (s.parsing == XML_FINISHED) + return; + } + + if (n != 0) + { + const ro_string str (s, n); + + try + { + this->characters (str); + } + catch (const schema_exception& e) + { + translate_schema_exception (e); + } + } + } + + template + void document:: + start_namespace_decl_ (const XML_Char* p, const XML_Char* ns) + { + // prefix is 0 for default namespace + // namespace is 0 when unsetting default namespace + // + if (polymorphic_) + ns_decls_.push_back (ns_decl ((p ? p : ""), (ns ? ns : ""))); + } + + template + void document:: + end_namespace_decl_ (const XML_Char* p) + { + // prefix is 0 for default namespace + // + if (polymorphic_) + { + // Here we assume the prefixes are removed in the reverse + // order of them being added. This appears to how every + // sensible implementation works. + // + assert (p + ? ns_decls_.back ().prefix == p + : ns_decls_.back ().prefix.empty ()); + + ns_decls_.pop_back (); + } + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/map.hxx b/xsd-4.0.0/xsd/cxx/parser/map.hxx new file mode 100644 index 0000000..ece952e --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/map.hxx @@ -0,0 +1,79 @@ +// file : xsd/cxx/parser/map.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_MAP_HXX +#define XSD_CXX_PARSER_MAP_HXX + +#include +#include + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // Parser map. Used in the polymorphic document parsing. + // + template + struct parser_map + { + virtual + ~parser_map (); + + // The type argument is the type name and namespace from the + // xsi:type attribute or substitution group map in the form + // " " with the space and namespace part + // absent if the type does not have a namespace. + // + virtual parser_base* + find (const ro_string& type) const = 0; + }; + + + // Parser map implementation. + // + template + struct parser_map_impl: parser_map + { + parser_map_impl (); + + void + insert (parser_base&); + + virtual parser_base* + find (const ro_string& type) const; + + private: + parser_map_impl (const parser_map_impl&); + + parser_map_impl& + operator= (const parser_map_impl&); + + private: + struct string_comparison + { + bool + operator() (const C* x, const C* y) const + { + ro_string s (x); + return s.compare (y) < 0; + } + }; + + typedef std::map*, string_comparison> map; + map map_; + }; + } + } +} + +#include +#include + +#endif // XSD_CXX_PARSER_MAP_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/map.ixx b/xsd-4.0.0/xsd/cxx/parser/map.ixx new file mode 100644 index 0000000..9ee1575 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/map.ixx @@ -0,0 +1,27 @@ +// file : xsd/cxx/parser/map.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // parser_map_impl + // + template + inline parser_map_impl::parser_map_impl () + { + } + + template + inline void parser_map_impl:: + insert (parser_base& parser) + { + map_[parser._dynamic_type ()] = &parser; + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/map.txx b/xsd-4.0.0/xsd/cxx/parser/map.txx new file mode 100644 index 0000000..b8d3d50 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/map.txx @@ -0,0 +1,31 @@ +// file : xsd/cxx/parser/map.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // parser_map + // + template + parser_map:: + ~parser_map () + { + } + + // parser_map_impl + // + template + parser_base* parser_map_impl:: + find (const ro_string& type) const + { + typename map::const_iterator i (map_.find (type.data ())); + return i != map_.end () ? i->second : 0; + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.hxx b/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.hxx new file mode 100644 index 0000000..56626c2 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.hxx @@ -0,0 +1,248 @@ +// file : xsd/cxx/parser/non-validating/parser.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX +#define XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX + +#include +#include +#include // std::size_t + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // + // + template + struct empty_content: parser_base + { + // The _*_any_* functions are called when wildcard content + // is encountered. Use them to handle mixed content models, + // any/anyAttribute, and anyType/anySimpleType. By default + // these functions do nothing. + // + + // The type argument is a type name and namespace from the + // xsi:type attribute in the form " " with + // the space and namespace part absent if the type does not + // have a namespace or 0 if xsi:type is not present. + // + virtual void + _start_any_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + virtual void + _end_any_element (const ro_string& ns, + const ro_string& name); + + virtual void + _any_attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _any_characters (const ro_string&); + + + // + // + virtual bool + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*); + + virtual bool + _end_element_impl (const ro_string&, + const ro_string&); + + virtual bool + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&); + + virtual bool + _characters_impl (const ro_string&); + + + // + // + virtual void + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + virtual void + _end_element (const ro_string& ns, + const ro_string& name); + + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _characters (const ro_string& s); + }; + + + // + // + template + struct simple_content: empty_content + { + // + // + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _characters (const ro_string&); + }; + + + // + // + template + struct complex_content: empty_content + { + // + // + virtual void + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + virtual void + _end_element (const ro_string& ns, + const ro_string& name); + + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _characters (const ro_string&); + + + // + // + virtual void + _pre_impl (); + + virtual void + _post_impl (); + + protected: + struct state + { + state () + : any_ (false), depth_ (0), parser_ (0) + { + } + + bool any_; + std::size_t depth_; + parser_base* parser_; + }; + + // Optimized state stack for non-recursive case (one element). + // + struct state_stack + { + state_stack () + : size_ (0) + { + } + + void + push (const state& s) + { + if (size_ > 0) + rest_.push (top_); + + top_ = s; + ++size_; + } + + void + pop () + { + if (size_ > 1) + { + top_ = rest_.top (); + rest_.pop (); + } + + --size_; + } + + const state& + top () const + { + return top_; + } + + state& + top () + { + return top_; + } + + state& + under_top () + { + return rest_.top (); + } + + private: + state top_; + std::stack rest_; + std::size_t size_; + }; + + state_stack context_; + }; + + + // Base for xsd:list. + // + template + struct list_base: simple_content + { + virtual void + _xsd_parse_item (const ro_string&) = 0; + + virtual void + _pre_impl (); + + virtual void + _characters (const ro_string&); + + virtual void + _post_impl (); + + protected: + std::basic_string buf_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.txx b/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.txx new file mode 100644 index 0000000..329c0c9 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/parser.txx @@ -0,0 +1,464 @@ +// file : xsd/cxx/parser/non-validating/parser.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + + // empty_content + // + + template + void empty_content:: + _start_any_element (const ro_string&, + const ro_string&, + const ro_string*) + { + } + + template + void empty_content:: + _end_any_element (const ro_string&, + const ro_string&) + { + } + + template + void empty_content:: + _any_attribute (const ro_string&, + const ro_string&, + const ro_string&) + { + } + + template + void empty_content:: + _any_characters (const ro_string&) + { + } + + // + // + template + bool empty_content:: + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*) + { + return false; + } + + template + bool empty_content:: + _end_element_impl (const ro_string&, + const ro_string&) + { + return false; + } + + template + bool empty_content:: + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + template + bool empty_content:: + _characters_impl (const ro_string&) + { + return false; + } + + template + void empty_content:: + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + if (!_start_element_impl (ns, name, type)) + _start_any_element (ns, name, type); + } + + template + void empty_content:: + _end_element (const ro_string& ns, + const ro_string& name) + { + if (!_end_element_impl (ns, name)) + _end_any_element (ns, name); + } + + template + void empty_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + if (!_attribute_impl (ns, name, value)) + _any_attribute (ns, name, value); + } + + template + void empty_content:: + _characters (const ro_string& s) + { + if (!_characters_impl (s)) + _any_characters (s); + } + + + // simple_content + // + + template + void simple_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + if (!this->_attribute_impl (ns, name, value)) + this->_any_attribute (ns, name, value); + } + + template + void simple_content:: + _characters (const ro_string& str) + { + this->_characters_impl (str); + } + + + // complex_content + // + + template + void complex_content:: + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + state& s (context_.top ()); + + if (s.depth_++ > 0) + { + if (s.any_) + this->_start_any_element (ns, name, type); + else if (s.parser_) + s.parser_->_start_element (ns, name, type); + } + else + { + if (!this->_start_element_impl (ns, name, type)) + { + this->_start_any_element (ns, name, type); + s.any_ = true; + } + else if (s.parser_ != 0) + s.parser_->_pre_impl (); + } + } + + template + void complex_content:: + _end_element (const ro_string& ns, + const ro_string& name) + { + // To understand what's going on here it is helpful to think of + // a "total depth" as being the sum of individual depths over + // all elements. + // + + if (context_.top ().depth_ == 0) + { + state& s (context_.under_top ()); // One before last. + + if (--s.depth_ > 0) + { + // Indirect recursion. + // + if (s.parser_) + s.parser_->_end_element (ns, name); + } + else + { + // Direct recursion. + // + assert (this == s.parser_); + + this->_post_impl (); + + if (!this->_end_element_impl (ns, name)) + assert (false); + } + } + else + { + state& s (context_.top ()); + + if (--s.depth_ > 0) + { + if (s.any_) + this->_end_any_element (ns, name); + else if (s.parser_) + s.parser_->_end_element (ns, name); + } + else + { + if (s.parser_ != 0 && !s.any_) + s.parser_->_post_impl (); + + if (!this->_end_element_impl (ns, name)) + { + s.any_ = false; + this->_end_any_element (ns, name); + } + } + } + } + + template + void complex_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + state& s (context_.top ()); + + if (s.depth_ > 0) + { + if (s.any_) + this->_any_attribute (ns, name, value); + else if (s.parser_) + s.parser_->_attribute (ns, name, value); + } + else + { + if (!this->_attribute_impl (ns, name, value)) + this->_any_attribute (ns, name, value); + } + } + + template + void complex_content:: + _characters (const ro_string& str) + { + state& s (context_.top ()); + + if (s.depth_ > 0) + { + if (s.any_) + this->_any_characters (str); + else if (s.parser_) + s.parser_->_characters (str); + } + else + { + if (!this->_characters_impl (str)) + this->_any_characters (str); + } + } + + template + void complex_content:: + _pre_impl () + { + context_.push (state ()); + this->_pre (); + } + + template + void complex_content:: + _post_impl () + { + this->_post (); + context_.pop (); + } + + // list_base + // + namespace bits + { + // Find first non-space character. + // + template + typename ro_string::size_type + find_ns (const C* s, + typename ro_string::size_type size, + typename ro_string::size_type pos) + { + while (pos < size && + (s[pos] == C (0x20) || s[pos] == C (0x0A) || + s[pos] == C (0x0D) || s[pos] == C (0x09))) + ++pos; + + return pos < size ? pos : ro_string::npos; + } + + // Find first space character. + // + template + typename ro_string::size_type + find_s (const C* s, + typename ro_string::size_type size, + typename ro_string::size_type pos) + { + while (pos < size && + s[pos] != C (0x20) && s[pos] != C (0x0A) && + s[pos] != C (0x0D) && s[pos] != C (0x09)) + ++pos; + + return pos < size ? pos : ro_string::npos; + } + } + + // Relevant XML Schema Part 2: Datatypes sections: 4.2.1.2, 4.3.6. + // + + template + void list_base:: + _pre_impl () + { + simple_content::_pre_impl (); + buf_.clear (); + } + + template + void list_base:: + _characters (const ro_string& s) + { + typedef typename ro_string::size_type size_type; + + const C* data (s.data ()); + size_type size (s.size ()); + + // Handle the previous chunk if we start with a ws. + // + if (!buf_.empty () && + (data[0] == C (0x20) || data[0] == C (0x0A) || + data[0] == C (0x0D) || data[0] == C (0x09))) + { + ro_string tmp (buf_); // Private copy ctor. + _xsd_parse_item (tmp); + buf_.clear (); + } + + // Traverse the data while logically collapsing spaces. + // + for (size_type i (bits::find_ns (data, size, 0)); + i != ro_string::npos;) + { + size_type j (bits::find_s (data, size, i)); + + if (j != ro_string::npos) + { + if (buf_.empty ()) + { + ro_string tmp (data + i, j - i); // Private copy ctor. + _xsd_parse_item (tmp); + } + else + { + // Assemble the first item in str from buf_ and s. + // + std::basic_string str; + str.swap (buf_); + str.append (data + i, j - i); + ro_string tmp (str); // Private copy ctor. + _xsd_parse_item (tmp); + } + + i = bits::find_ns (data, size, j); + } + else + { + // Last fragment, append it to the buf_. + // + buf_.append (data + i, size - i); + break; + } + } + } + + template + void list_base:: + _post_impl () + { + // Handle the last item. + // + if (!buf_.empty ()) + { + ro_string tmp (buf_); // Private copy ctor. + _xsd_parse_item (tmp); + } + + simple_content::_post_impl (); + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx new file mode 100644 index 0000000..0e05e42 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx @@ -0,0 +1,793 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include + +#include // XSD_AUTO_PTR + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // any_type + // + template + struct any_type_pimpl: virtual any_type_pskel + { + virtual void + post_any_type (); + }; + + // any_simple_type + // + template + struct any_simple_type_pimpl: virtual any_simple_type_pskel + { + virtual void + post_any_simple_type (); + }; + + // boolean + // + template + struct boolean_pimpl: virtual boolean_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual bool + post_boolean (); + + protected: + std::basic_string str_; + }; + + + // 8-bit + // + template + struct byte_pimpl: virtual byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual signed char + post_byte (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_byte_pimpl: virtual unsigned_byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned char + post_unsigned_byte (); + + protected: + std::basic_string str_; + }; + + + // 16-bit + // + template + struct short_pimpl: virtual short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual short + post_short (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_short_pimpl: virtual unsigned_short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned short + post_unsigned_short (); + + protected: + std::basic_string str_; + }; + + + // 32-bit + // + template + struct int_pimpl: virtual int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual int + post_int (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_int_pimpl: virtual unsigned_int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned int + post_unsigned_int (); + + protected: + std::basic_string str_; + }; + + + // 64-bit + // + template + struct long_pimpl: virtual long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_long (); + + protected: + std::basic_string str_; + }; + + + template + struct unsigned_long_pimpl: virtual unsigned_long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_unsigned_long (); + + protected: + std::basic_string str_; + }; + + + // Arbitrary-length integers. + // + template + struct integer_pimpl: virtual integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_integer (); + + protected: + std::basic_string str_; + }; + + template + struct negative_integer_pimpl: virtual negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_negative_integer (); + + protected: + std::basic_string str_; + }; + + template + struct non_positive_integer_pimpl: virtual non_positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual long long + post_non_positive_integer (); + + protected: + std::basic_string str_; + }; + + template + struct positive_integer_pimpl: virtual positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_positive_integer (); + + protected: + std::basic_string str_; + }; + + template + struct non_negative_integer_pimpl: virtual non_negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual unsigned long long + post_non_negative_integer (); + + protected: + std::basic_string str_; + }; + + + // Floats. + // + template + struct float_pimpl: virtual float_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual float + post_float (); + + protected: + std::basic_string str_; + }; + + + template + struct double_pimpl: virtual double_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual double + post_double (); + + protected: + std::basic_string str_; + }; + + + template + struct decimal_pimpl: virtual decimal_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual double + post_decimal (); + + protected: + std::basic_string str_; + }; + + + // Strings. + // + template + struct string_pimpl: virtual string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_string (); + + protected: + std::basic_string str_; + }; + + template + struct normalized_string_pimpl: virtual normalized_string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_normalized_string (); + + protected: + std::basic_string str_; + }; + + template + struct token_pimpl: virtual token_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_token (); + + protected: + std::basic_string str_; + }; + + template + struct name_pimpl: virtual name_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_name (); + + protected: + std::basic_string str_; + }; + + template + struct nmtoken_pimpl: virtual nmtoken_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_nmtoken (); + + protected: + std::basic_string str_; + }; + + template + struct nmtokens_pimpl: virtual nmtokens_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual string_sequence + post_nmtokens (); + + protected: + string_sequence seq_; + nmtoken_pimpl parser_; + }; + + template + struct ncname_pimpl: virtual ncname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_ncname (); + + protected: + std::basic_string str_; + }; + + template + struct id_pimpl: virtual id_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_id (); + + protected: + std::basic_string str_; + }; + + template + struct idref_pimpl: virtual idref_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_idref (); + + protected: + std::basic_string str_; + }; + + template + struct idrefs_pimpl: virtual idrefs_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual string_sequence + post_idrefs (); + + protected: + string_sequence seq_; + idref_pimpl parser_; + }; + + // language + // + template + struct language_pimpl: virtual language_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_language (); + + protected: + std::basic_string str_; + }; + + // anyURI + // + template + struct uri_pimpl: virtual uri_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_uri (); + + protected: + std::basic_string str_; + }; + + // QName + // + template + struct qname_pimpl: virtual qname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual qname + post_qname (); + + protected: + std::basic_string str_; + }; + + // base64Binary + // + template + struct base64_binary_pimpl: virtual base64_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual XSD_AUTO_PTR + post_base64_binary (); + + protected: + std::basic_string str_; + }; + + // hexBinary + // + template + struct hex_binary_pimpl: virtual hex_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual XSD_AUTO_PTR + post_hex_binary (); + + protected: + std::basic_string str_; + }; + + // gday + // + template + struct gday_pimpl: virtual gday_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gday + post_gday (); + + protected: + std::basic_string str_; + }; + + // gmonth + // + template + struct gmonth_pimpl: virtual gmonth_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gmonth + post_gmonth (); + + protected: + std::basic_string str_; + }; + + // gyear + // + template + struct gyear_pimpl: virtual gyear_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gyear + post_gyear (); + + protected: + std::basic_string str_; + }; + + // gmonth_day + // + template + struct gmonth_day_pimpl: virtual gmonth_day_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gmonth_day + post_gmonth_day (); + + protected: + std::basic_string str_; + }; + + // gyear_month + // + template + struct gyear_month_pimpl: virtual gyear_month_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual gyear_month + post_gyear_month (); + + protected: + std::basic_string str_; + }; + + // date + // + template + struct date_pimpl: virtual date_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual date + post_date (); + + protected: + std::basic_string str_; + }; + + // time + // + template + struct time_pimpl: virtual time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual time + post_time (); + + protected: + std::basic_string str_; + }; + + // date_time + // + template + struct date_time_pimpl: virtual date_time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual date_time + post_date_time (); + + protected: + std::basic_string str_; + }; + + // duration + // + template + struct duration_pimpl: virtual duration_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual duration + post_duration (); + + protected: + std::basic_string str_; + }; + + // + // + namespace bits + { + // float literals: INF -INF NaN + // + template + const C* + positive_inf (); + + template + const C* + negative_inf (); + + template + const C* + nan (); + + // boolean literals + // + template + const C* + true_ (); + + template + const C* + one (); + } + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx new file mode 100644 index 0000000..e90cb26 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx @@ -0,0 +1,129 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + namespace bits + { + // + // + template<> + inline const char* + positive_inf () + { + return "INF"; + } + + template<> + inline const char* + negative_inf () + { + return "-INF"; + } + + template<> + inline const char* + nan () + { + return "NaN"; + } + + // + // + template<> + inline const char* + true_ () + { + return "true"; + } + + template<> + inline const char* + one () + { + return "1"; + } + } + } + } + } +} + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + namespace bits + { + // + // + template<> + inline const wchar_t* + positive_inf () + { + return L"INF"; + } + + template<> + inline const wchar_t* + negative_inf () + { + return L"-INF"; + } + + template<> + inline const wchar_t* + nan () + { + return L"NaN"; + } + + // + // + template<> + inline const wchar_t* + true_ () + { + return L"true"; + } + + template<> + inline const wchar_t* + one () + { + return L"1"; + } + } + } + } + } +} + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx new file mode 100644 index 0000000..77b1423 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx @@ -0,0 +1,2068 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // Note that most of the types implemented here cannot have + // whitespaces in the value. As result we don't need to waste + // time collapsing whitespaces. All we need to do is trim the + // string representation which can be done without copying. + // + + // any_type + // + + template + void any_type_pimpl:: + post_any_type () + { + } + + // any_simple_type + // + + template + void any_simple_type_pimpl:: + post_any_simple_type () + { + } + + // boolean + // + template + void boolean_pimpl:: + _pre () + { + str_.clear (); + } + + template + void boolean_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + bool boolean_pimpl:: + post_boolean () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + return str == bits::true_ () || str == bits::one (); + } + + // byte + // + + template + void byte_pimpl:: + _pre () + { + str_.clear (); + } + + template + void byte_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + signed char byte_pimpl:: + post_byte () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + short t; + zc_istream is (str); + is >> t; + + return static_cast (t); + } + + // unsigned_byte + // + + template + void unsigned_byte_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_byte_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned char unsigned_byte_pimpl:: + post_unsigned_byte () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned short t; + zc_istream is (str); + is >> t; + + return static_cast (t); + } + + // short + // + + template + void short_pimpl:: + _pre () + { + str_.clear (); + } + + template + void short_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + short short_pimpl:: + post_short () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + short t; + zc_istream is (str); + is >> t; + + return t; + } + + // unsigned_short + // + + template + void unsigned_short_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_short_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned short unsigned_short_pimpl:: + post_unsigned_short () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned short t; + zc_istream is (str); + is >> t; + + return t; + } + + // int + // + + template + void int_pimpl:: + _pre () + { + str_.clear (); + } + + template + void int_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + int int_pimpl:: + post_int () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + int t; + zc_istream is (str); + is >> t; + + return t; + } + + // unsigned_int + // + + template + void unsigned_int_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_int_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned int unsigned_int_pimpl:: + post_unsigned_int () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned int t; + zc_istream is (str); + is >> t; + + return t; + } + + // long + // + template + void long_pimpl:: + _pre () + { + str_.clear (); + } + + template + void long_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + long long long_pimpl:: + post_long () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // unsigned_long + // + template + void unsigned_long_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_long_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned long long unsigned_long_pimpl:: + post_unsigned_long () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // integer + // + template + void integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + long long integer_pimpl:: + post_integer () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // negative_integer + // + template + void negative_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void negative_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + long long negative_integer_pimpl:: + post_negative_integer () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // non_positive_integer + // + template + void non_positive_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void non_positive_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + long long non_positive_integer_pimpl:: + post_non_positive_integer () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // positive_integer + // + template + void positive_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void positive_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned long long positive_integer_pimpl:: + post_positive_integer () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // non_negative_integer + // + template + void non_negative_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void non_negative_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + unsigned long long non_negative_integer_pimpl:: + post_non_negative_integer () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + unsigned long long t; + zc_istream is (str); + is >> t; + + return t; + } + + // float + // + template + void float_pimpl:: + _pre () + { + str_.clear (); + } + + template + void float_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + float float_pimpl:: + post_float () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + if (str == bits::positive_inf ()) + return std::numeric_limits::infinity (); + + if (str == bits::negative_inf ()) + return -std::numeric_limits::infinity (); + + if (str == bits::nan ()) + return std::numeric_limits::quiet_NaN (); + + float t; + zc_istream is (str); + is.imbue (std::locale::classic ()); + is >> t; + + return t; + } + + // double + // + template + void double_pimpl:: + _pre () + { + str_.clear (); + } + + template + void double_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + double double_pimpl:: + post_double () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + if (str == bits::positive_inf ()) + return std::numeric_limits::infinity (); + + if (str == bits::negative_inf ()) + return -std::numeric_limits::infinity (); + + if (str == bits::nan ()) + return std::numeric_limits::quiet_NaN (); + + double t; + zc_istream is (str); + is.imbue (std::locale::classic ()); + is >> t; + + return t; + } + + // decimal + // + template + void decimal_pimpl:: + _pre () + { + str_.clear (); + } + + template + void decimal_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + double decimal_pimpl:: + post_decimal () + { + std::basic_string tmp; + tmp.swap (str_); + + ro_string str (tmp); + trim (str); + + double t; + zc_istream is (str); + is.imbue (std::locale::classic ()); + is >> t; + + return t; + } + + + // string + // + template + void string_pimpl:: + _pre () + { + str_.clear (); + } + + template + void string_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + std::basic_string string_pimpl:: + post_string () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // normalized_string + // + template + void normalized_string_pimpl:: + _pre () + { + str_.clear (); + } + + template + void normalized_string_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + std::basic_string normalized_string_pimpl:: + post_normalized_string () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + + for (size_type i (0); i < size; ++i) + { + C& c = str_[i]; + + if (c == C (0x0A) || c == C (0x0D) || c == C (0x09)) + c = C (0x20); + } + + std::basic_string r; + r.swap (str_); + return r; + } + + // token + // + template + void token_pimpl:: + _pre () + { + str_.clear (); + } + + template + void token_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string token_pimpl:: + post_token () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + size_type j (0); + + bool subs (false); + + for (size_type i (0); i < size; ++i) + { + C c = str_[i]; + + if (c == C (0x20) || c == C (0x0A) || + c == C (0x0D) || c == C (0x09)) + { + subs = true; + } + else + { + if (subs) + { + subs = false; + str_[j++] = C (0x20); + } + + str_[j++] = c; + } + } + + str_.resize (j); + + std::basic_string r; + r.swap (str_); + return r; + } + + // name + // + template + void name_pimpl:: + _pre () + { + str_.clear (); + } + + template + void name_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string name_pimpl:: + post_name () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // nmtoken + // + template + void nmtoken_pimpl:: + _pre () + { + str_.clear (); + } + + template + void nmtoken_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string nmtoken_pimpl:: + post_nmtoken () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // nmtokens + // + template + void nmtokens_pimpl:: + _pre () + { + nmtokens_pskel::_pre (); + seq_.clear (); + } + + template + string_sequence nmtokens_pimpl:: + post_nmtokens () + { + string_sequence r; + r.swap (seq_); + return r; + } + + template + void nmtokens_pimpl:: + _xsd_parse_item (const ro_string& s) + { + parser_.pre (); + parser_._pre (); + parser_._characters (s); + parser_._post (); + seq_.push_back (parser_.post_nmtoken ()); + } + + // ncname + // + template + void ncname_pimpl:: + _pre () + { + str_.clear (); + } + + template + void ncname_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string ncname_pimpl:: + post_ncname () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // id + // + template + void id_pimpl:: + _pre () + { + str_.clear (); + } + + template + void id_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string id_pimpl:: + post_id () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // idref + // + template + void idref_pimpl:: + _pre () + { + str_.clear (); + } + + template + void idref_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string idref_pimpl:: + post_idref () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // idrefs + // + template + void idrefs_pimpl:: + _pre () + { + idrefs_pskel::_pre (); + seq_.clear (); + } + + template + string_sequence idrefs_pimpl:: + post_idrefs () + { + string_sequence r; + r.swap (seq_); + return r; + } + + template + void idrefs_pimpl:: + _xsd_parse_item (const ro_string& s) + { + parser_.pre (); + parser_._pre (); + parser_._characters (s); + parser_._post (); + seq_.push_back (parser_.post_idref ()); + } + + // language + // + template + void language_pimpl:: + _pre () + { + str_.clear (); + } + + template + void language_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string language_pimpl:: + post_language () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // uri + // + template + void uri_pimpl:: + _pre () + { + str_.clear (); + } + + template + void uri_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string uri_pimpl:: + post_uri () + { + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // qname + // + template + void qname_pimpl:: + _pre () + { + str_.clear (); + } + + template + void qname_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + qname qname_pimpl:: + post_qname () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + size_type pos (tmp.find (C (':'))); + + if (pos != ro_string::npos) + { + std::basic_string prefix (tmp.data (), pos++); + std::basic_string name (tmp.data () + pos, size - pos); + return qname (prefix, name); + } + else + { + str_.resize (size); + return qname (str_); + } + } + + // base64_binary + // + template + void base64_binary_pimpl:: + _pre () + { + str_.clear (); + } + + template + void base64_binary_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline unsigned char + base64_decode (C c) + { + unsigned char r (0xFF); + + if (c >= C('A') && c <= C ('Z')) + r = static_cast (c - C ('A')); + else if (c >= C('a') && c <= C ('z')) + r = static_cast (c - C ('a') + 26); + else if (c >= C('0') && c <= C ('9')) + r = static_cast (c - C ('0') + 52); + else if (c == C ('+')) + r = 62; + else if (c == C ('/')) + r = 63; + + return r; + } + } + + template + XSD_AUTO_PTR base64_binary_pimpl:: + post_base64_binary () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + const C* src (str_.c_str ()); + + // Remove all whitespaces. + // + { + size_type j (0); + + bool subs (false); + + for (size_type i (0); i < size; ++i) + { + C c = str_[i]; + + if (c == C (0x20) || c == C (0x0A) || + c == C (0x0D) || c == C (0x09)) + { + subs = true; + } + else + { + if (subs) + subs = false; + + str_[j++] = c; + } + } + + size = j; + str_.resize (size); + } + + // Our length should be a multiple of four. + // + size_type quad_count (size / 4); + size_type capacity (quad_count * 3 + 1); + + XSD_AUTO_PTR buf (new buffer (capacity, capacity)); + char* dst (buf->data ()); + + size_type si (0), di (0); // Source and destination indexes. + + // Process all quads except the last one. + // + unsigned char b1, b2, b3, b4; + + for (size_type q (0); q < quad_count - 1; ++q) + { + b1 = bits::base64_decode (src[si++]); + b2 = bits::base64_decode (src[si++]); + b3 = bits::base64_decode (src[si++]); + b4 = bits::base64_decode (src[si++]); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + dst[di++] = (b3 << 6) | b4; + } + + // Process the last quad. The first two octets are always there. + // + b1 = bits::base64_decode (src[si++]); + b2 = bits::base64_decode (src[si++]); + + C e3 (src[si++]); + C e4 (src[si++]); + + if (e4 == C ('=')) + { + if (e3 == C ('=')) + { + // Two pads. Last 4 bits in b2 should be zero. + // + dst[di++] = (b1 << 2) | (b2 >> 4); + } + else + { + // One pad. Last 2 bits in b3 should be zero. + // + b3 = bits::base64_decode (e3); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + } + } + else + { + // No pads. + // + b3 = bits::base64_decode (e3); + b4 = bits::base64_decode (e4); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + dst[di++] = (b3 << 6) | b4; + } + + // Set the real size. + // + buf->size (di); + + return buf; + } + + // hex_binary + // + template + void hex_binary_pimpl:: + _pre () + { + str_.clear (); + } + + template + void hex_binary_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline unsigned char + hex_decode (C c) + { + unsigned char r (0xFF); + + if (c >= C('0') && c <= C ('9')) + r = static_cast (c - C ('0')); + else if (c >= C ('A') && c <= C ('F')) + r = static_cast (10 + (c - C ('A'))); + else if (c >= C ('a') && c <= C ('f')) + r = static_cast (10 + (c - C ('a'))); + + return r; + } + } + + template + XSD_AUTO_PTR hex_binary_pimpl:: + post_hex_binary () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + buffer::size_t n (size / 2); + XSD_AUTO_PTR buf (new buffer (n)); + + const C* src (tmp.data ()); + char* dst (buf->data ()); + + for (buffer::size_t i (0); i < n; ++i) + { + unsigned char h (bits::hex_decode (src[2 * i])); + unsigned char l (bits::hex_decode (src[2 * i + 1])); + dst[i] = (h << 4) | l; + } + + return buf; + } + + // time_zone + // + namespace bits + { + // Datatypes 3.2.7.3. + // + template + void + parse_tz (const C* s, + typename std::basic_string::size_type n, + short& h, short& m) + { + // time_zone := Z|(+|-)HH:MM + // + if (n == 0) + { + return; + } + else if (s[0] == 'Z') + { + h = 0; + m = 0; + } + else if (n == 6) + { + // Parse hours. + // + h = 10 * (s[1] - '0') + (s[2] - '0'); + + // Parse minutes. + // + m = 10 * (s[4] - '0') + (s[5] - '0'); + + if (s[0] == '-') + { + h = -h; + m = -m; + } + } + } + } + + // gday + // + template + void gday_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gday_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + gday gday_pimpl:: + post_gday () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + unsigned short day (0); + bool z (false); + short zh (0), zm (0); + + // gday := ---DD[Z|(+|-)HH:MM] + // + if (size >= 5) + { + day = 10 * (s[3] - '0') + (s[4] - '0'); + + if (size > 5) + { + bits::parse_tz (s + 5, size - 5, zh, zm); + z = true; + } + } + + return z ? gday (day, zh, zm) : gday (day); + } + + // gmonth + // + template + void gmonth_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gmonth_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + gmonth gmonth_pimpl:: + post_gmonth () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + unsigned short month (0); + bool z (false); + short zh (0), zm (0); + + // gmonth := --MM[Z|(+|-)HH:MM] + // + if (size >= 4) + { + month = 10 * (s[2] - '0') + (s[3] - '0'); + + if (size > 4) + { + bits::parse_tz (s + 4, size - 4, zh, zm); + z = true; + } + } + + return z ? gmonth (month, zh, zm) : gmonth (month); + } + + // gyear + // + template + void gyear_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gyear_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + gyear gyear_pimpl:: + post_gyear () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + int year (0); + bool z (false); + short zh (0), zm (0); + + // gyear := [-]CCYY[N]*[Z|(+|-)HH:MM] + // + + if (size >= 4) + { + // Find the end of the year token. + // + size_type pos (4); + for (; pos < size; ++pos) + { + C c (s[pos]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + ro_string year_fragment (s, pos); + zc_istream is (year_fragment); + is >> year; + + if (pos < size) + { + bits::parse_tz (s + pos, size - pos, zh, zm); + z = true; + } + } + + return z ? gyear (year, zh, zm) : gyear (year); + } + + // gmonth_day + // + template + void gmonth_day_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gmonth_day_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + gmonth_day gmonth_day_pimpl:: + post_gmonth_day () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + unsigned short month (0), day (0); + bool z (false); + short zh (0), zm (0); + + // gmonth_day := --MM-DD[Z|(+|-)HH:MM] + // + if (size >= 7) + { + month = 10 * (s[2] - '0') + (s[3] - '0'); + day = 10 * (s[5] - '0') + (s[6] - '0'); + + if (size > 7) + { + bits::parse_tz (s + 7, size - 7, zh, zm); + z = true; + } + } + + return z + ? gmonth_day (month, day, zh, zm) + : gmonth_day (month, day); + } + + // gyear_month + // + template + void gyear_month_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gyear_month_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + gyear_month gyear_month_pimpl:: + post_gyear_month () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + int year (0); + unsigned short month (0); + bool z (false); + short zh (0), zm (0); + + // gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM] + // + + if (size >= 7) + { + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), 4)); + + if (pos != ro_string::npos && (size - pos - 1) >= 2) + { + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + yis >> year; + + month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); + + pos += 3; + + if (pos < size) + { + bits::parse_tz (s + pos, size - pos, zh, zm); + z = true; + } + } + } + + return z + ? gyear_month (year, month, zh, zm) + : gyear_month (year, month); + } + + // date + // + template + void date_pimpl:: + _pre () + { + str_.clear (); + } + + template + void date_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + date date_pimpl:: + post_date () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + int year (0); + unsigned short month (0), day (0); + bool z (false); + short zh (0), zm (0); + + // date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM] + // + + if (size >= 10) + { + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), 4)); + + if (pos != ro_string::npos && (size - pos - 1) >= 5) + { + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + yis >> year; + + month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); + day = 10 * (s[pos + 4] - '0') + (s[pos + 5] - '0'); + + pos += 6; + + if (pos < size) + { + bits::parse_tz (s + pos, size - pos, zh, zm); + z = true; + } + } + } + + return z + ? date (year, month, day, zh, zm) + : date (year, month, day); + } + + // time + // + template + void time_pimpl:: + _pre () + { + str_.clear (); + } + + template + void time_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + time time_pimpl:: + post_time () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + unsigned short hours (0), minutes (0); + double seconds (0.0); + bool z (false); + short zh (0), zm (0); + + // time := HH:MM:SS[.S+][Z|(+|-)HH:MM] + // + + if (size >= 8) + { + hours = 10 * (s[0] - '0') + (s[1] - '0'); + minutes = 10 * (s[3] - '0') + (s[4] - '0'); + + // Find the end of the seconds fragment. + // + size_type pos (8); + for (; pos < size; ++pos) + { + C c (s[pos]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + ro_string seconds_fragment (s + 6, pos - 6); + zc_istream sis (seconds_fragment); + sis >> seconds; + + if (pos < size) + { + bits::parse_tz (s + pos, size - pos, zh, zm); + z = true; + } + } + + return z + ? time (hours, minutes, seconds, zh, zm) + : time (hours, minutes, seconds); + } + + + // date_time + // + template + void date_time_pimpl:: + _pre () + { + str_.clear (); + } + + template + void date_time_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + date_time date_time_pimpl:: + post_date_time () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + int year (0); + unsigned short month (0), day (0), hours (0), minutes (0); + double seconds (0.0); + bool z (false); + short zh (0), zm (0); + + // date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM] + // + + if (size >= 19) + { + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), 4)); + + if (pos != ro_string::npos && (size - pos - 1) >= 14) + { + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + yis >> year; + + month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); + day = 10 * (s[pos + 4] - '0') + (s[pos + 5] - '0'); + + pos += 7; // Point to the first H. + + hours = 10 * (s[pos] - '0') + (s[pos + 1] - '0'); + minutes = 10 * (s[pos + 3] - '0') + (s[pos + 4] - '0'); + + // Find the end of the seconds fragment. + // + pos += 6; // Point to the first S. + + size_type sec_end (pos + 2); + for (; sec_end < size; ++sec_end) + { + C c (s[sec_end]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + ro_string seconds_fragment (s + pos, sec_end - pos); + zc_istream sis (seconds_fragment); + sis >> seconds; + + if (sec_end < size) + { + bits::parse_tz (s + sec_end, size - sec_end, zh, zm); + z = true; + } + } + } + + return z + ? date_time (year, month, day, hours, minutes, seconds, zh, zm) + : date_time (year, month, day, hours, minutes, seconds); + } + + // duration + // + template + void duration_pimpl:: + _pre () + { + str_.clear (); + } + + template + void duration_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline typename ro_string::size_type + duration_delim (const C* s, + typename ro_string::size_type pos, + typename ro_string::size_type size) + { + const C* p (s + pos); + for (; p < (s + size); ++p) + { + if (*p == C ('Y') || *p == C ('D') || *p == C ('M') || + *p == C ('H') || *p == C ('M') || *p == C ('S') || + *p == C ('T')) + break; + } + + return p - s; + } + } + + template + duration duration_pimpl:: + post_duration () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + bool negative (false); + unsigned int years (0), months (0), days (0), hours (0), minutes (0); + double seconds (0.0); + + // duration := [-]P[nY][nM][nD][TnHnMn[.n+]S] + // + const C* s (tmp.data ()); + + if (size >= 3) + { + size_type pos (0); + + if (s[0] == C ('-')) + { + negative = true; + pos++; + } + + pos++; // Skip 'P'. + + size_type del (bits::duration_delim (s, pos, size)); + + if (del != size && s[del] == C ('Y')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> years; + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('M')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> months; + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('D')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> days; + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('T')) + { + pos = del + 1; + del = bits::duration_delim (s, pos, size); + + if (del != size && s[del] == C ('H')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> hours; + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('M')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> minutes; + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('S')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + is >> seconds; + } + } + } + + return duration ( + negative, years, months, days, hours, minutes, seconds); + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx new file mode 100644 index 0000000..aae157e --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx @@ -0,0 +1,649 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pskel.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX + +#include +#include // std::auto_ptr/unique_ptr + +#include // XSD_AUTO_PTR + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // anyType and anySimpleType. All events are routed to the + // _any_* callbacks. + // + template + struct any_type_pskel: complex_content + { + virtual bool + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*); + + virtual bool + _end_element_impl (const ro_string&, + const ro_string&); + + virtual bool + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&); + + virtual bool + _characters_impl (const ro_string&); + + virtual void + post_any_type () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct any_simple_type_pskel: simple_content + { + virtual bool + _characters_impl (const ro_string&); + + virtual void + post_any_simple_type () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Boolean. + // + template + struct boolean_pskel: simple_content + { + virtual bool + post_boolean () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 8-bit + // + template + struct byte_pskel: simple_content + { + virtual signed char + post_byte () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_byte_pskel: simple_content + { + virtual unsigned char + post_unsigned_byte () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 16-bit + // + template + struct short_pskel: simple_content + { + virtual short + post_short () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_short_pskel: simple_content + { + virtual unsigned short + post_unsigned_short () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 32-bit + // + template + struct int_pskel: simple_content + { + virtual int + post_int () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_int_pskel: simple_content + { + virtual unsigned int + post_unsigned_int () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 64-bit + // + template + struct long_pskel: simple_content + { + virtual long long + post_long () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_long_pskel: simple_content + { + virtual unsigned long long + post_unsigned_long () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Arbitrary-length integers. + // + template + struct integer_pskel: simple_content + { + virtual long long + post_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct negative_integer_pskel: simple_content + { + virtual long long + post_negative_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct non_positive_integer_pskel: simple_content + { + virtual long long + post_non_positive_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct positive_integer_pskel: simple_content + { + virtual unsigned long long + post_positive_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct non_negative_integer_pskel: simple_content + { + virtual unsigned long long + post_non_negative_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Floats. + // + template + struct float_pskel: simple_content + { + virtual float + post_float () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct double_pskel: simple_content + { + virtual double + post_double () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct decimal_pskel: simple_content + { + virtual double + post_decimal () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Strings. + // + template + struct string_pskel: simple_content + { + virtual std::basic_string + post_string () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct normalized_string_pskel: simple_content + { + virtual std::basic_string + post_normalized_string () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct token_pskel: simple_content + { + virtual std::basic_string + post_token () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct name_pskel: simple_content + { + virtual std::basic_string + post_name () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct nmtoken_pskel: simple_content + { + virtual std::basic_string + post_nmtoken () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct nmtokens_pskel: list_base + { + virtual string_sequence + post_nmtokens () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct ncname_pskel: simple_content + { + virtual std::basic_string + post_ncname () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct id_pskel: simple_content + { + virtual std::basic_string + post_id () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct idref_pskel: simple_content + { + virtual std::basic_string + post_idref () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct idrefs_pskel: list_base + { + virtual string_sequence + post_idrefs () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Language. + // + template + struct language_pskel: simple_content + { + virtual std::basic_string + post_language () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // URI. + // + template + struct uri_pskel: simple_content + { + virtual std::basic_string + post_uri () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // QName. + // + template + struct qname_pskel: simple_content + { + virtual qname + post_qname () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Base64 and hex binaries. + // + template + struct base64_binary_pskel: simple_content + { + virtual XSD_AUTO_PTR + post_base64_binary () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct hex_binary_pskel: simple_content + { + virtual XSD_AUTO_PTR + post_hex_binary () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Time and date types. + // + template + struct gday_pskel: simple_content + { + virtual gday + post_gday () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gmonth_pskel: simple_content + { + virtual gmonth + post_gmonth () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gyear_pskel: simple_content + { + virtual gyear + post_gyear () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gmonth_day_pskel: simple_content + { + virtual gmonth_day + post_gmonth_day () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gyear_month_pskel: simple_content + { + virtual gyear_month + post_gyear_month () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct date_pskel: simple_content + { + virtual date + post_date () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct time_pskel: simple_content + { + virtual time + post_time () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct date_time_pskel: simple_content + { + virtual date_time + post_date_time () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct duration_pskel: simple_content + { + virtual duration + post_duration () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx new file mode 100644 index 0000000..a3c4176 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx @@ -0,0 +1,1249 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pskel.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + template<> + inline const char* any_type_pskel:: + _static_type () + { + return "anyType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* any_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* any_simple_type_pskel:: + _static_type () + { + return "anySimpleType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* any_simple_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* boolean_pskel:: + _static_type () + { + return "boolean http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* boolean_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* byte_pskel:: + _static_type () + { + return "byte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_byte_pskel:: + _static_type () + { + return "unsignedByte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* short_pskel:: + _static_type () + { + return "short http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_short_pskel:: + _static_type () + { + return "unsignedShort http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* int_pskel:: + _static_type () + { + return "int http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_int_pskel:: + _static_type () + { + return "unsignedInt http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* long_pskel:: + _static_type () + { + return "long http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_long_pskel:: + _static_type () + { + return "unsignedLong http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* integer_pskel:: + _static_type () + { + return "integer http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* negative_integer_pskel:: + _static_type () + { + return "negativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* non_positive_integer_pskel:: + _static_type () + { + return "nonPositiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* non_positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* positive_integer_pskel:: + _static_type () + { + return "positiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* non_negative_integer_pskel:: + _static_type () + { + return "nonNegativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* non_negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* float_pskel:: + _static_type () + { + return "float http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* float_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* double_pskel:: + _static_type () + { + return "double http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* double_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* decimal_pskel:: + _static_type () + { + return "decimal http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* decimal_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* string_pskel:: + _static_type () + { + return "string http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* normalized_string_pskel:: + _static_type () + { + return "normalizedString http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* normalized_string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* token_pskel:: + _static_type () + { + return "token http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* token_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* name_pskel:: + _static_type () + { + return "Name http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* name_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* nmtoken_pskel:: + _static_type () + { + return "NMTOKEN http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* nmtoken_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* nmtokens_pskel:: + _static_type () + { + return "NMTOKENS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* nmtokens_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* ncname_pskel:: + _static_type () + { + return "NCName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* ncname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* id_pskel:: + _static_type () + { + return "ID http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* id_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* idref_pskel:: + _static_type () + { + return "IDREF http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* idref_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* idrefs_pskel:: + _static_type () + { + return "IDREFS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* idrefs_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* language_pskel:: + _static_type () + { + return "language http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* language_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* uri_pskel:: + _static_type () + { + return "anyURI http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* uri_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* qname_pskel:: + _static_type () + { + return "QName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* qname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* base64_binary_pskel:: + _static_type () + { + return "base64Binary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* base64_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* hex_binary_pskel:: + _static_type () + { + return "hexBinary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* hex_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gday_pskel:: + _static_type () + { + return "gDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gday_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gmonth_pskel:: + _static_type () + { + return "gMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gmonth_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gyear_pskel:: + _static_type () + { + return "gYear http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gyear_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gmonth_day_pskel:: + _static_type () + { + return "gMonthDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gmonth_day_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gyear_month_pskel:: + _static_type () + { + return "gYearMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gyear_month_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* date_pskel:: + _static_type () + { + return "date http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* date_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* time_pskel:: + _static_type () + { + return "time http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* date_time_pskel:: + _static_type () + { + return "dateTime http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* date_time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* duration_pskel:: + _static_type () + { + return "duration http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* duration_pskel:: + _dynamic_type () const + { + return _static_type (); + } + } + } + } +} + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR +#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + template<> + inline const wchar_t* any_type_pskel:: + _static_type () + { + return L"anyType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* any_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* any_simple_type_pskel:: + _static_type () + { + return L"anySimpleType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* any_simple_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* boolean_pskel:: + _static_type () + { + return L"boolean http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* boolean_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* byte_pskel:: + _static_type () + { + return L"byte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_byte_pskel:: + _static_type () + { + return L"unsignedByte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* short_pskel:: + _static_type () + { + return L"short http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_short_pskel:: + _static_type () + { + return L"unsignedShort http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* int_pskel:: + _static_type () + { + return L"int http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_int_pskel:: + _static_type () + { + return L"unsignedInt http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* long_pskel:: + _static_type () + { + return L"long http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_long_pskel:: + _static_type () + { + return L"unsignedLong http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* integer_pskel:: + _static_type () + { + return L"integer http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* negative_integer_pskel:: + _static_type () + { + return L"negativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* non_positive_integer_pskel:: + _static_type () + { + return L"nonPositiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* non_positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* positive_integer_pskel:: + _static_type () + { + return L"positiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* non_negative_integer_pskel:: + _static_type () + { + return L"nonNegativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* non_negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* float_pskel:: + _static_type () + { + return L"float http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* float_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* double_pskel:: + _static_type () + { + return L"double http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* double_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* decimal_pskel:: + _static_type () + { + return L"decimal http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* decimal_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* string_pskel:: + _static_type () + { + return L"string http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* normalized_string_pskel:: + _static_type () + { + return L"normalizedString http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* normalized_string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* token_pskel:: + _static_type () + { + return L"token http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* token_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* name_pskel:: + _static_type () + { + return L"Name http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* name_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* nmtoken_pskel:: + _static_type () + { + return L"NMTOKEN http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* nmtoken_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* nmtokens_pskel:: + _static_type () + { + return L"NMTOKENS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* nmtokens_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* ncname_pskel:: + _static_type () + { + return L"NCName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* ncname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* id_pskel:: + _static_type () + { + return L"ID http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* id_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* idref_pskel:: + _static_type () + { + return L"IDREF http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* idref_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* idrefs_pskel:: + _static_type () + { + return L"IDREFS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* idrefs_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* language_pskel:: + _static_type () + { + return L"language http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* language_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* uri_pskel:: + _static_type () + { + return L"anyURI http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* uri_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* qname_pskel:: + _static_type () + { + return L"QName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* qname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* base64_binary_pskel:: + _static_type () + { + return L"base64Binary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* base64_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* hex_binary_pskel:: + _static_type () + { + return L"hexBinary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* hex_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gday_pskel:: + _static_type () + { + return L"gDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gday_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gmonth_pskel:: + _static_type () + { + return L"gMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gmonth_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gyear_pskel:: + _static_type () + { + return L"gYear http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gyear_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gmonth_day_pskel:: + _static_type () + { + return L"gMonthDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gmonth_day_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gyear_month_pskel:: + _static_type () + { + return L"gYearMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gyear_month_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* date_pskel:: + _static_type () + { + return L"date http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* date_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* time_pskel:: + _static_type () + { + return L"time http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* date_time_pskel:: + _static_type () + { + return L"dateTime http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* date_time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* duration_pskel:: + _static_type () + { + return L"duration http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* duration_pskel:: + _dynamic_type () const + { + return _static_type (); + } + } + } + } +} + +#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.txx b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.txx new file mode 100644 index 0000000..6e138ab --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/non-validating/xml-schema-pskel.txx @@ -0,0 +1,69 @@ +// file : xsd/cxx/parser/non-validating/xml-schema-pskel.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace non_validating + { + // any_type + // + + template + bool any_type_pskel:: + _start_element_impl (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + this->_start_any_element (ns, name, type); + this->complex_content::context_.top ().any_ = true; + return true; + } + + template + bool any_type_pskel:: + _end_element_impl (const ro_string& ns, const ro_string& name) + { + this->complex_content::context_.top ().any_ = false; + this->_end_any_element (ns, name); + return true; + } + + + template + bool any_type_pskel:: + _attribute_impl (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + this->_any_attribute (ns, name, value); + return true; + } + + template + bool any_type_pskel:: + _characters_impl (const ro_string& s) + { + this->_any_characters (s); + return true; + } + + // any_simple_type + // + + template + bool any_simple_type_pskel:: + _characters_impl (const ro_string& s) + { + this->_any_characters (s); + return true; + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.hxx b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.hxx new file mode 100644 index 0000000..ff0c498 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.hxx @@ -0,0 +1,187 @@ +// file : xsd/cxx/parser/schema-exceptions.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX +#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + template + struct schema_exception + { + public: + virtual + ~schema_exception () + { + } + + unsigned long + line () const + { + return line_; + } + + void + line (unsigned long l) + { + line_ = l; + } + + unsigned long + column () const + { + return column_; + } + + void + column (unsigned long c) + { + column_ = c; + } + + const std::basic_string& + id () const + { + return id_; + } + + void + id (const std::basic_string& id) + { + id_ = id; + } + + virtual std::basic_string + message () const = 0; + + protected: + unsigned long line_; + unsigned long column_; + std::basic_string id_; + }; + + // + // + template + struct expected_element: schema_exception + { + virtual + ~expected_element (); + + expected_element (const std::basic_string& expected_namespace, + const std::basic_string& expected_name); + + expected_element (const std::basic_string& expected_namespace, + const std::basic_string& expected_name, + const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name); + + const std::basic_string& + expected_namespace () const + { + return expected_namespace_; + } + + const std::basic_string& + expected_name () const + { + return expected_name_; + } + + // Encountered element namespace and name are empty if none + // encountered. + // + const std::basic_string& + encountered_namespace () const + { + return encountered_namespace_; + } + + const std::basic_string& + encountered_name () const + { + return encountered_name_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string expected_namespace_; + std::basic_string expected_name_; + + std::basic_string encountered_namespace_; + std::basic_string encountered_name_; + }; + + + // + // + template + struct unexpected_element: schema_exception + { + virtual + ~unexpected_element (); + + unexpected_element (const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name); + + const std::basic_string& + encountered_namespace () const + { + return encountered_namespace_; + } + + const std::basic_string& + encountered_name () const + { + return encountered_name_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string encountered_namespace_; + std::basic_string encountered_name_; + }; + + // + // + template + struct dynamic_type: schema_exception + { + virtual + ~dynamic_type () throw (); + + dynamic_type (const std::basic_string& type); + + const std::basic_string& + type () const + { + return type_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string type_; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.ixx b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.ixx new file mode 100644 index 0000000..ede2c70 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.ixx @@ -0,0 +1,145 @@ +// file : xsd/cxx/parser/schema-exceptions.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR +#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // expected_element + // + template<> + inline + std::basic_string expected_element:: + message () const + { + std::basic_string r ("expected element '"); + r += expected_namespace_; + r += expected_namespace_.empty () ? "" : "#"; + r += expected_name_; + r += "'"; + + if (!encountered_name_.empty ()) + { + r += " instead of '"; + r += encountered_namespace_; + r += encountered_namespace_.empty () ? "" : "#"; + r += encountered_name_; + r += "'"; + } + + return r; + } + + // unexpected_element + // + template<> + inline + std::basic_string unexpected_element:: + message () const + { + std::basic_string r ("unexpected element '"); + r += encountered_namespace_; + r += encountered_namespace_.empty () ? "" : "#"; + r += encountered_name_; + r += "'"; + return r; + } + + // dynamic_type + // + template<> + inline + std::basic_string dynamic_type:: + message () const + { + std::basic_string r ("invalid xsi:type '"); + r += type_; + r += "'"; + return r; + } + } + } +} + +#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR +#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // expected_element + // + template<> + inline + std::basic_string expected_element:: + message () const + { + std::basic_string r (L"expected element '"); + r += expected_namespace_; + r += expected_namespace_.empty () ? L"" : L"#"; + r += expected_name_; + r += L"'"; + + if (!encountered_name_.empty ()) + { + r += L" instead of '"; + r += encountered_namespace_; + r += encountered_namespace_.empty () ? L"" : L"#"; + r += encountered_name_; + r += L"'"; + } + + return r; + } + + // unexpected_element + // + template<> + inline + std::basic_string unexpected_element:: + message () const + { + std::basic_string r (L"unexpected element '"); + r += encountered_namespace_; + r += encountered_namespace_.empty () ? L"" : L"#"; + r += encountered_name_; + r += L"'"; + return r; + } + + // dynamic_type + // + template<> + inline + std::basic_string dynamic_type:: + message () const + { + std::basic_string r (L"invalid xsi:type '"); + r += type_; + r += L"'"; + return r; + } + } + } +} + +#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.txx b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.txx new file mode 100644 index 0000000..39a3cbf --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/schema-exceptions.txx @@ -0,0 +1,75 @@ +// file : xsd/cxx/parser/schema-exceptions.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // expected_element + // + template + expected_element:: + ~expected_element () + { + } + + template + expected_element:: + expected_element (const std::basic_string& expected_namespace, + const std::basic_string& expected_name) + : expected_namespace_ (expected_namespace), + expected_name_ (expected_name) + { + } + + template + expected_element:: + expected_element (const std::basic_string& expected_namespace, + const std::basic_string& expected_name, + const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name) + : expected_namespace_ (expected_namespace), + expected_name_ (expected_name), + encountered_namespace_ (encountered_namespace), + encountered_name_ (encountered_name) + { + } + + // unexpected_element + // + template + unexpected_element:: + ~unexpected_element () + { + } + + template + unexpected_element:: + unexpected_element (const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name) + : encountered_namespace_ (encountered_namespace), + encountered_name_ (encountered_name) + { + } + + // dynamic_type + // + template + dynamic_type:: + ~dynamic_type () throw () + { + } + + template + dynamic_type:: + dynamic_type (const std::basic_string& type) + : type_ (type) + { + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/substitution-map.hxx b/xsd-4.0.0/xsd/cxx/parser/substitution-map.hxx new file mode 100644 index 0000000..cb28a71 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/substitution-map.hxx @@ -0,0 +1,241 @@ +// file : xsd/cxx/parser/substitution-map.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX +#define XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX + +#include +#include // std::size_t + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + template + struct substitution_map_key + { + substitution_map_key (const C* ns, const C* name) + : ns_ (ns), name_ (name) + { + } + + substitution_map_key (const ro_string& ns, + const ro_string& name) + : ns_ (ns.data (), ns.size ()), + name_ (name.data (), name.size ()) + { + } + + substitution_map_key (const substitution_map_key& x) + : ns_ (x.ns_.data (), x.ns_.size ()), + name_ (x.name_.data (), x.name_.size ()) + { + } + + private: + substitution_map_key& + operator= (const substitution_map_key&); + + public: + const ro_string& + ns () const + { + return ns_; + } + + const ro_string& + name () const + { + return name_; + } + + private: + const ro_string ns_; + const ro_string name_; + }; + + template + inline bool + operator< (const substitution_map_key& x, + const substitution_map_key& y) + { + int r (x.name ().compare (y.name ())); + return r < 0 || (r == 0 && x.ns () < y.ns ()); + } + + template + struct substitution_map_value + { + substitution_map_value (const C* ns, const C* name, const C* type) + : ns_ (ns), name_ (name), type_ (type) + { + } + + substitution_map_value (const substitution_map_value& x) + : ns_ (x.ns_.data (), x.ns_.size ()), + name_ (x.name_.data (), x.name_.size ()), + type_ (x.type_.data (), x.type_.size ()) + { + } + + substitution_map_value& + operator= (const substitution_map_value& x) + { + if (this != &x) + { + ns_.assign (x.ns_.data (), x.ns_.size ()); + name_.assign (x.name_.data (), x.name_.size ()); + type_.assign (x.type_.data (), x.type_.size ()); + } + + return *this; + } + + public: + const ro_string& + ns () const + { + return ns_; + } + + const ro_string& + name () const + { + return name_; + } + + const ro_string& + type () const + { + return type_; + } + + private: + ro_string ns_; + ro_string name_; + ro_string type_; + }; + + template + struct substitution_map + { + void + insert (const C* member_ns, + const C* member_name, + const C* root_ns, + const C* root_name, + const C* member_type) + { + key k (member_ns, member_name); + value v (root_ns, root_name, member_type); + map_.insert (std::pair (k, v)); + } + + void + erase (const C* member_ns, const C* member_name) + { + map_.erase (key (member_ns, member_name)); + } + + // Check and get the type set if found. + // + bool + check (const ro_string& ns, + const ro_string& name, + const C* root_ns, + const C* root_name, + const ro_string*& type) const + { + + return map_.empty () + ? false + : check_ (ns, name, root_ns, root_name, &type); + } + + // Check but don't care about the type. + // + bool + check (const ro_string& ns, + const ro_string& name, + const C* root_ns, + const C* root_name) const + { + + return map_.empty () + ? false + : check_ (ns, name, root_ns, root_name, 0); + } + + private: + bool + check_ (const ro_string& ns, + const ro_string& name, + const C* root_ns, + const C* root_name, + const ro_string** type) const; + + private: + typedef substitution_map_key key; + typedef substitution_map_value value; + typedef std::map map; + + map map_; + }; + + + // Translation unit initializer. + // + template + struct substitution_map_init + { + static substitution_map* map; + static std::size_t count; + + substitution_map_init (); + ~substitution_map_init (); + }; + + template + substitution_map* substitution_map_init::map = 0; + + template + std::size_t substitution_map_init::count = 0; + + template + inline substitution_map& + substitution_map_instance () + { + return *substitution_map_init::map; + } + + + // Map entry initializer. + // + template + struct substitution_map_entry + { + substitution_map_entry (const C* member_ns, + const C* member_name, + const C* root_ns, + const C* root_name, + const C* member_type); + + ~substitution_map_entry (); + + private: + const C* member_ns_; + const C* member_name_; + }; + } + } +} + +#include + +#endif // XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/substitution-map.txx b/xsd-4.0.0/xsd/cxx/parser/substitution-map.txx new file mode 100644 index 0000000..e87b9f3 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/substitution-map.txx @@ -0,0 +1,84 @@ +// file : xsd/cxx/parser/substitution-map.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + template + bool substitution_map:: + check_ (const ro_string& ns, + const ro_string& name, + const C* root_ns, + const C* root_name, + const ro_string** type) const + { + key k (ns, name); + typename map::const_iterator i (map_.find (k)); + + if (i == map_.end ()) + return false; + + const value& v (i->second); + + bool r (false); + + if (v.name () == root_name && v.ns () == root_ns) + r = true; + else + r = check_ (v.ns (), v.name (), root_ns, root_name, 0); + + if (r && type != 0 && *type == 0) + *type = &v.type (); + + return r; + } + + // substitution_map_init + // + template + substitution_map_init:: + substitution_map_init () + { + if (count == 0) + map = new substitution_map; + + ++count; + } + + template + substitution_map_init:: + ~substitution_map_init () + { + if (--count == 0) + delete map; + } + + // substitution_map_entry + // + template + substitution_map_entry:: + substitution_map_entry (const C* member_ns, + const C* member_name, + const C* root_ns, + const C* root_name, + const C* member_type) + : member_ns_ (member_ns), member_name_ (member_name) + { + substitution_map_instance ().insert ( + member_ns, member_name, root_ns, root_name, member_type); + } + + template + substitution_map_entry:: + ~substitution_map_entry () + { + substitution_map_instance ().erase (member_ns_, member_name_); + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.hxx b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.hxx new file mode 100644 index 0000000..90ca976 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.hxx @@ -0,0 +1,153 @@ +// file : xsd/cxx/parser/validating/exceptions.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX +#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX + +#include + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // + // + template + struct expected_attribute: schema_exception + { + virtual + ~expected_attribute (); + + expected_attribute (const std::basic_string& expected_namespace, + const std::basic_string& expected_name); + + const std::basic_string& + expected_namespace () const + { + return expected_namespace_; + } + + const std::basic_string& + expected_name () const + { + return expected_name_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string expected_namespace_; + std::basic_string expected_name_; + }; + + // + // + template + struct unexpected_attribute: schema_exception + { + virtual + ~unexpected_attribute (); + + unexpected_attribute ( + const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name); + + + const std::basic_string& + encountered_namespace () const + { + return encountered_namespace_; + } + + const std::basic_string& + encountered_name () const + { + return encountered_name_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string encountered_namespace_; + std::basic_string encountered_name_; + }; + + + // + // + template + struct unexpected_characters: schema_exception + { + virtual + ~unexpected_characters (); + + unexpected_characters (const std::basic_string& s); + + const std::basic_string& + characters () const + { + return characters_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string characters_; + }; + + // + // + template + struct invalid_value: schema_exception + { + virtual + ~invalid_value (); + + invalid_value (const C* type, const std::basic_string& value); + + invalid_value (const C* type, const ro_string& value); + + invalid_value (const std::basic_string& type, + const std::basic_string& value); + + const std::basic_string& + type () const + { + return type_; + } + + const std::basic_string& + value () const + { + return value_; + } + + virtual std::basic_string + message () const; + + private: + std::basic_string type_; + std::basic_string value_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.ixx b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.ixx new file mode 100644 index 0000000..077050a --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.ixx @@ -0,0 +1,163 @@ +// file : xsd/cxx/parser/validating/exceptions.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR +#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // expected_attribute + // + template<> + inline + std::basic_string expected_attribute:: + message () const + { + std::basic_string r ("expected attribute '"); + r += expected_namespace_; + r += expected_namespace_.empty () ? "" : "#"; + r += expected_name_; + r += "'"; + return r; + } + + // unexpected_attribute + // + template<> + inline + std::basic_string unexpected_attribute:: + message () const + { + std::basic_string r ("unexpected attribute '"); + r += encountered_namespace_; + r += encountered_namespace_.empty () ? "" : "#"; + r += encountered_name_; + r += "'"; + return r; + } + + // unexpected_characters + // + template<> + inline + std::basic_string unexpected_characters:: + message () const + { + std::basic_string r ("unexpected characters '"); + r += characters_; + r += "'"; + return r; + } + + // invalid_value + // + template<> + inline + std::basic_string invalid_value:: + message () const + { + std::basic_string r ("'"); + r += value_; + r += "' is not a valid value representation "; + r += "for type '"; + r += type_; + r += "'"; + return r; + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR +#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // expected_attribute + // + template<> + inline + std::basic_string expected_attribute:: + message () const + { + std::basic_string r (L"expected attribute '"); + r += expected_namespace_; + r += expected_namespace_.empty () ? L"" : L"#"; + r += expected_name_; + r += L"'"; + return r; + } + + // unexpected_attribute + // + template<> + inline + std::basic_string unexpected_attribute:: + message () const + { + std::basic_string r (L"unexpected attribute '"); + r += encountered_namespace_; + r += encountered_namespace_.empty () ? L"" : L"#"; + r += encountered_name_; + r += L"'"; + return r; + } + + // unexpected_characters + // + template<> + inline + std::basic_string unexpected_characters:: + message () const + { + std::basic_string r (L"unexpected characters '"); + r += characters_; + r += L"'"; + return r; + } + + // invalid_value + // + template<> + inline + std::basic_string invalid_value:: + message () const + { + std::basic_string r (L"'"); + r += value_; + r += L"' is not a valid value representation "; + r += L"for type '"; + r += type_; + r += L"'"; + return r; + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.txx b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.txx new file mode 100644 index 0000000..39e7101 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/exceptions.txx @@ -0,0 +1,97 @@ +// file : xsd/cxx/parser/validating/exceptions.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // expected_attribute + // + template + expected_attribute:: + ~expected_attribute () + { + } + + template + expected_attribute:: + expected_attribute (const std::basic_string& expected_namespace, + const std::basic_string& expected_name) + : expected_namespace_ (expected_namespace), + expected_name_ (expected_name) + { + } + + // unexpected_attribute + // + template + unexpected_attribute:: + ~unexpected_attribute () + { + } + + template + unexpected_attribute:: + unexpected_attribute (const std::basic_string& encountered_namespace, + const std::basic_string& encountered_name) + : encountered_namespace_ (encountered_namespace), + encountered_name_ (encountered_name) + { + } + + // unexpected_characters + // + template + unexpected_characters:: + ~unexpected_characters () + { + } + + template + unexpected_characters:: + unexpected_characters (const std::basic_string& s) + : characters_ (s) + { + } + + // invalid_value + // + template + invalid_value:: + ~invalid_value () + { + } + + template + invalid_value:: + invalid_value (const C* type, + const std::basic_string& value) + : type_ (type), value_ (value) + { + } + + template + invalid_value:: + invalid_value (const C* type, + const ro_string& value) + : type_ (type), value_ (value) + { + } + + template + invalid_value:: + invalid_value (const std::basic_string& type, + const std::basic_string& value) + : type_ (type), value_ (value) + { + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.hxx b/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.hxx new file mode 100644 index 0000000..3862d75 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.hxx @@ -0,0 +1,101 @@ +// file : xsd/cxx/parser/validating/inheritance-map.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX +#define XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX + +#include +#include // std::size_t + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + template + struct string_comparison + { + bool + operator() (const C* x, const C* y) const + { + ro_string s (x); + return s.compare (y) < 0; + } + }; + + template + struct inheritance_map + { + void + insert (const C* derived, const C* base) + { + map_[derived] = base; + } + + void + erase (const C* derived) + { + map_.erase (derived); + } + + bool + check (const C* derived, const ro_string& base) const; + + private: + typedef std::map > map; + map map_; + }; + + + // Translation unit initializer. + // + template + struct inheritance_map_init + { + static inheritance_map* map; + static std::size_t count; + + inheritance_map_init (); + ~inheritance_map_init (); + }; + + template + inheritance_map* inheritance_map_init::map = 0; + + template + std::size_t inheritance_map_init::count = 0; + + template + inline inheritance_map& + inheritance_map_instance () + { + return *inheritance_map_init::map; + } + + + // Map entry initializer. + // + template + struct inheritance_map_entry + { + inheritance_map_entry (const C* derived, const C* base); + ~inheritance_map_entry (); + + private: + const C* derived_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.txx b/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.txx new file mode 100644 index 0000000..a321002 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/inheritance-map.txx @@ -0,0 +1,73 @@ +// file : xsd/cxx/parser/validating/inheritance-map.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + template + bool inheritance_map:: + check (const C* derived, const ro_string& base) const + { + if (base == derived) + return true; + + typename map::const_iterator i (map_.find (derived)); + + if (i != map_.end ()) + { + if (base == i->second) + return true; + else + return check (i->second, base); + } + + return false; + } + + // inheritance_map_init + // + template + inheritance_map_init:: + inheritance_map_init () + { + if (count == 0) + map = new inheritance_map; + + ++count; + } + + template + inheritance_map_init:: + ~inheritance_map_init () + { + if (--count == 0) + delete map; + } + + // inheritance_map_entry + // + template + inheritance_map_entry:: + inheritance_map_entry (const C* derived, const C* base) + : derived_ (derived) + { + inheritance_map_instance ().insert (derived, base); + } + + template + inheritance_map_entry:: + ~inheritance_map_entry () + { + inheritance_map_instance ().erase (derived_); + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/parser.hxx b/xsd-4.0.0/xsd/cxx/parser/validating/parser.hxx new file mode 100644 index 0000000..2548339 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/parser.hxx @@ -0,0 +1,471 @@ +// file : xsd/cxx/parser/validating/parser.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_VALIDATING_PARSER_HXX +#define XSD_CXX_PARSER_VALIDATING_PARSER_HXX + +#include +#include // std::size_t +#include // std::memcpy + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // + // + template + struct empty_content: parser_base + { + // These functions are called when wildcard content + // is encountered. Use them to handle mixed content + // models, any/anyAttribute, and anyType/anySimpleType. + // By default these functions do nothing. + // + + // The type argument is a type name and namespace from the + // xsi:type attribute in the form " " with + // the space and namespace part absent if the type does not + // have a namespace or 0 if xsi:type is not present. + // + virtual void + _start_any_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + virtual void + _end_any_element (const ro_string& ns, + const ro_string& name); + + virtual void + _any_attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _any_characters (const ro_string&); + + + // + // + virtual bool + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*); + + virtual bool + _end_element_impl (const ro_string&, + const ro_string&); + + virtual bool + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&); + + virtual bool + _characters_impl (const ro_string&); + + + // + // + virtual void + _start_element (const ro_string&, + const ro_string&, + const ro_string*); + + virtual void + _end_element (const ro_string&, + const ro_string&); + + virtual void + _attribute (const ro_string&, + const ro_string&, + const ro_string&); + + virtual void + _characters (const ro_string&); + + + // + // + virtual void + _expected_element (const C* expected_ns, + const C* expected_name); + + virtual void + _expected_element (const C* expected_ns, + const C* expected_name, + const ro_string& encountered_ns, + const ro_string& encountered_name); + + virtual void + _unexpected_element (const ro_string& ns, + const ro_string& name); + + virtual void + _expected_attribute (const C* expected_ns, + const C* expected_name); + + virtual void + _unexpected_attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _unexpected_characters (const ro_string&); + }; + + + // + // + template + struct simple_content: empty_content + { + // + // + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _characters (const ro_string&); + + // + // + virtual bool + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&); + + // + // + virtual void + _pre_impl (); + + virtual void + _post_impl (); + + + // Implementation callbacks. + // + virtual void + _pre_a_validate (); + + virtual void + _post_a_validate (); + + + // Attribute validation: during phase one we are searching for + // matching attributes (Structures, section 3.4.4, clause 2.1). + // During phase two we are searching for attribute wildcards + // (section 3.4.4, clause 2.2). Both phases run across + // inheritance hierarchy from derived to base for extension + // only. Both functions return true if the match was found and + // validation has been performed. + // + virtual bool + _attribute_impl_phase_one (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual bool + _attribute_impl_phase_two (const ro_string& ns, + const ro_string& name, + const ro_string& value); + }; + + + // + // + template + struct complex_content: empty_content + { + // + // + virtual void + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type); + + virtual void + _end_element (const ro_string& ns, + const ro_string& name); + + virtual void + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual void + _characters (const ro_string&); + + // + // + virtual bool + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&); + + // + // + virtual void + _pre_impl (); + + virtual void + _post_impl (); + + + // Implementation callbacks. + // + virtual void + _pre_e_validate (); + + virtual void + _post_e_validate (); + + virtual void + _pre_a_validate (); + + virtual void + _post_a_validate (); + + + // Attribute validation: during phase one we are searching for + // matching attributes (Structures, section 3.4.4, clause 2.1). + // During phase two we are searching for attribute wildcards + // (section 3.4.4, clause 2.2). Both phases run across + // inheritance hierarchy from derived to base for extension + // only. Both functions return true if the match was found and + // validation has been performed. + // + virtual bool + _attribute_impl_phase_one (const ro_string& ns, + const ro_string& name, + const ro_string& value); + + virtual bool + _attribute_impl_phase_two (const ro_string& ns, + const ro_string& name, + const ro_string& value); + protected: + struct state + { + state () + : any_ (false), depth_ (0), parser_ (0) + { + } + + bool any_; + std::size_t depth_; + parser_base* parser_; + }; + + // Optimized state stack for non-recursive case (one element). + // + struct state_stack + { + state_stack () + : size_ (0) + { + } + + void + push (const state& s) + { + if (size_ > 0) + rest_.push (top_); + + top_ = s; + ++size_; + } + + void + pop () + { + if (size_ > 1) + { + top_ = rest_.top (); + rest_.pop (); + } + + --size_; + } + + const state& + top () const + { + return top_; + } + + state& + top () + { + return top_; + } + + state& + under_top () + { + return rest_.top (); + } + + private: + state top_; + std::stack rest_; + std::size_t size_; + }; + + state_stack context_; + }; + + // Base for xsd:list. + // + template + struct list_base: simple_content + { + virtual void + _xsd_parse_item (const ro_string&) = 0; + + virtual void + _pre_impl (); + + virtual void + _characters (const ro_string&); + + virtual void + _post_impl (); + + protected: + std::basic_string buf_; + }; + } + + // POD stack with pre-allocated first element. You may + // need to pad your elements to get the proper alignment. + // + struct pod_stack + { + ~pod_stack () + { + delete[] data_; + } + + pod_stack (std::size_t element_size, void* first_element) + : el_size_ (element_size), first_ (first_element), + data_ (0), size_ (0), capacity_ (0) + { + } + + public: + void + pop () + { + --size_; + } + + void + push () + { + if (size_ > capacity_) + grow (); + + ++size_; + } + + void* + top () + { + return size_ == 1 ? first_ : data_ + (size_ - 1) * el_size_; + } + + void* + under_top () + { + return size_ == 2 ? first_ : data_ + (size_ - 2) * el_size_; + } + + std::size_t + element_size () const + { + return el_size_; + } + + private: + void + grow () + { + std::size_t c (capacity_ ? capacity_ * 2 : 8); + char* d (new char[c * el_size_]); + + if (size_ > 1) + std::memcpy (d, data_, (size_ - 1) * el_size_); + + delete[] data_; + + data_ = d; + capacity_ = c; + } + + private: + std::size_t el_size_; + void* first_; + char* data_; + std::size_t size_; + std::size_t capacity_; + }; + + namespace validating + { + // Validation state stack for the 'all' particle. + // + struct all_stack + { + all_stack (std::size_t n, unsigned char* first) + : stack_ (n, first) + { + } + + void + push () + { + stack_.push (); + + unsigned char* p (static_cast (stack_.top ())); + + for (std::size_t i (0); i < stack_.element_size (); ++i) + p[i] = 0; + } + + void + pop () + { + stack_.pop (); + } + + unsigned char* + top () + { + return static_cast (stack_.top ()); + } + + private: + pod_stack stack_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_VALIDATING_PARSER_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/parser.txx b/xsd-4.0.0/xsd/cxx/parser/validating/parser.txx new file mode 100644 index 0000000..54a1968 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/parser.txx @@ -0,0 +1,667 @@ +// file : xsd/cxx/parser/validating/parser.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + + // empty_content + // + + + template + void empty_content:: + _start_any_element (const ro_string&, + const ro_string&, + const ro_string*) + { + } + + template + void empty_content:: + _end_any_element (const ro_string&, + const ro_string&) + { + } + + template + void empty_content:: + _any_attribute (const ro_string&, + const ro_string&, + const ro_string&) + { + } + + template + void empty_content:: + _any_characters (const ro_string&) + { + } + + // + // + template + bool empty_content:: + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*) + { + return false; + } + + template + bool empty_content:: + _end_element_impl (const ro_string&, + const ro_string&) + { + return false; + } + + template + bool empty_content:: + _attribute_impl (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + template + bool empty_content:: + _characters_impl (const ro_string&) + { + return false; + } + + // + // + template + void empty_content:: + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + if (!this->_start_element_impl (ns, name, type)) + this->_unexpected_element (ns, name); + } + + template + void empty_content:: + _end_element (const ro_string& ns, + const ro_string& name) + { + if (!this->_end_element_impl (ns, name)) + this->_unexpected_element (ns, name); + } + + template + void empty_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); + } + + template + void empty_content:: + _characters (const ro_string& s) + { + if (!this->_characters_impl (s)) + this->_unexpected_characters (s); + } + + // + // + template + void empty_content:: + _expected_element (const C* ex_ns, const C* ex_name) + { + throw expected_element (ex_ns, ex_name); + } + + template + void empty_content:: + _expected_element (const C* ex_ns, + const C* ex_name, + const ro_string& en_ns, + const ro_string& en_name) + { + throw expected_element (ex_ns, ex_name, en_ns, en_name); + } + + template + void empty_content:: + _unexpected_element (const ro_string& ns, + const ro_string& name) + { + throw unexpected_element (ns, name); + } + + template + void empty_content:: + _expected_attribute (const C* ex_ns, const C* ex_name) + { + throw expected_attribute (ex_ns, ex_name); + } + + template + void empty_content:: + _unexpected_attribute (const ro_string& ns, + const ro_string& name, + const ro_string&) + { + throw unexpected_attribute (ns, name); + } + + template + void empty_content:: + _unexpected_characters (const ro_string& s) + { + throw unexpected_characters (s); + } + + + // simple_content + // + + template + void simple_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); + } + + template + void simple_content:: + _characters (const ro_string& str) + { + if (!this->_characters_impl (str)) + { + // Mixed content is implemented in the generated code + // by overriding _characters_impl and forwarding to + // _any_characters. + // + + // Scan the string for any non-whitespace characters + // (Structures, section 3.4.4, clause 1.3). + // + for (typename ro_string::size_type i (0), e (str.size ()); + i < e; ++i) + { + C c (str[i]); + + if (c != C (0x20) && // space + c != C (0x0D) && // carriage return + c != C (0x09) && // tab + c != C (0x0A)) + this->_unexpected_characters (str); + } + } + } + + template + void simple_content:: + _pre_impl () + { + this->_pre (); + _pre_a_validate (); + } + + template + void simple_content:: + _post_impl () + { + _post_a_validate (); + this->_post (); + } + + template + void simple_content:: + _pre_a_validate () + { + } + + template + void simple_content:: + _post_a_validate () + { + } + + template + bool simple_content:: + _attribute_impl (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + return _attribute_impl_phase_one (ns, name, value) || + _attribute_impl_phase_two (ns, name, value); + } + + template + bool simple_content:: + _attribute_impl_phase_one (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + template + bool simple_content:: + _attribute_impl_phase_two (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + + // complex_content + // + + + template + void complex_content:: + _start_element (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + state& s (context_.top ()); + + if (s.depth_++ > 0) + { + if (s.any_) + this->_start_any_element (ns, name, type); + else if (s.parser_) + s.parser_->_start_element (ns, name, type); + } + else + { + if (!this->_start_element_impl (ns, name, type)) + this->_unexpected_element (ns, name); + else if (s.parser_ != 0) + s.parser_->_pre_impl (); + } + } + + template + void complex_content:: + _end_element (const ro_string& ns, + const ro_string& name) + { + // To understand what's going on here it is helpful to think of + // a "total depth" as being the sum of individual depths over + // all elements. + // + + if (context_.top ().depth_ == 0) + { + state& s (context_.under_top ()); // One before last. + + if (--s.depth_ > 0) + { + // Indirect recursion. + // + if (s.parser_) + s.parser_->_end_element (ns, name); + } + else + { + // Direct recursion. + // + assert (this == s.parser_); + + this->_post_impl (); + + if (!this->_end_element_impl (ns, name)) + assert (false); + } + } + else + { + state& s (context_.top ()); + + if (--s.depth_ > 0) + { + if (s.any_) + this->_end_any_element (ns, name); + else if (s.parser_) + s.parser_->_end_element (ns, name); + } + else + { + if (s.parser_ != 0 && !s.any_) + s.parser_->_post_impl (); + + if (!this->_end_element_impl (ns, name)) + this->_unexpected_element (ns, name); + } + } + } + + template + void complex_content:: + _attribute (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + // Weed out special attributes: xsi:type, xsi:nil, + // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. + // See section 3.2.7 in Structures for details. + // + if (ns == xml::bits::xsi_namespace () && + (name == xml::bits::type () || + name == xml::bits::nil_lit () || + name == xml::bits::schema_location () || + name == xml::bits::no_namespace_schema_location ())) + return; + + // Also some parsers (notably Xerces-C++) supplies us with + // namespace-prefix mapping attributes. + // + if (ns == xml::bits::xmlns_namespace ()) + return; + + const state& s (context_.top ()); + + if (s.depth_ > 0) + { + if (s.any_) + this->_any_attribute (ns, name, value); + else if (s.parser_) + s.parser_->_attribute (ns, name, value); + } + else + { + if (!this->_attribute_impl (ns, name, value)) + this->_unexpected_attribute (ns, name, value); + } + } + + template + void complex_content:: + _characters (const ro_string& str) + { + const state& s (context_.top ()); + + if (s.depth_ > 0) + { + if (s.any_) + this->_any_characters (str); + else if (s.parser_) + s.parser_->_characters (str); + } + else + { + if (!this->_characters_impl (str)) + { + // Mixed content is implemented in the generated code + // by overriding _characters_impl and forwarding to + // _any_characters. + // + + // Scan the string for any non-whitespace characters + // (Structures, section 3.4.4, clause 1.3). + // + for (typename ro_string::size_type i (0), e (str.size ()); + i < e; ++i) + { + C c (str[i]); + + if (c != C (0x20) && // space + c != C (0x0D) && // carriage return + c != C (0x09) && // tab + c != C (0x0A)) + this->_unexpected_characters (str); + } + } + } + } + + template + void complex_content:: + _pre_impl () + { + context_.push (state ()); + this->_pre (); + _pre_a_validate (); + _pre_e_validate (); + } + + template + void complex_content:: + _post_impl () + { + _post_e_validate (); + _post_a_validate (); + this->_post (); + context_.pop (); + } + + template + void complex_content:: + _pre_e_validate () + { + } + + template + void complex_content:: + _post_e_validate () + { + } + + template + void complex_content:: + _pre_a_validate () + { + } + + template + void complex_content:: + _post_a_validate () + { + } + + template + bool complex_content:: + _attribute_impl (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + return _attribute_impl_phase_one (ns, name, value) || + _attribute_impl_phase_two (ns, name, value); + } + + template + bool complex_content:: + _attribute_impl_phase_one (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + template + bool complex_content:: + _attribute_impl_phase_two (const ro_string&, + const ro_string&, + const ro_string&) + { + return false; + } + + + // list_base + // + namespace bits + { + // Find first non-space character. + // + template + typename ro_string::size_type + find_ns (const C* s, + typename ro_string::size_type size, + typename ro_string::size_type pos) + { + while (pos < size && + (s[pos] == C (0x20) || s[pos] == C (0x0A) || + s[pos] == C (0x0D) || s[pos] == C (0x09))) + ++pos; + + return pos < size ? pos : ro_string::npos; + } + + // Find first space character. + // + template + typename ro_string::size_type + find_s (const C* s, + typename ro_string::size_type size, + typename ro_string::size_type pos) + { + while (pos < size && + s[pos] != C (0x20) && s[pos] != C (0x0A) && + s[pos] != C (0x0D) && s[pos] != C (0x09)) + ++pos; + + return pos < size ? pos : ro_string::npos; + } + } + + // Relevant XML Schema Part 2: Datatypes sections: 4.2.1.2, 4.3.6. + // + + template + void list_base:: + _pre_impl () + { + simple_content::_pre_impl (); + buf_.clear (); + } + + template + void list_base:: + _characters (const ro_string& s) + { + typedef typename ro_string::size_type size_type; + + const C* data (s.data ()); + size_type size (s.size ()); + + // Handle the previous chunk if we start with a ws. + // + if (!buf_.empty () && + (data[0] == C (0x20) || data[0] == C (0x0A) || + data[0] == C (0x0D) || data[0] == C (0x09))) + { + ro_string tmp (buf_); // Private copy ctor. + _xsd_parse_item (tmp); + buf_.clear (); + } + + // Traverse the data while logically collapsing spaces. + // + for (size_type i (bits::find_ns (data, size, 0)); + i != ro_string::npos;) + { + size_type j (bits::find_s (data, size, i)); + + if (j != ro_string::npos) + { + if (buf_.empty ()) + { + ro_string tmp (data + i, j - i); // Private copy ctor. + _xsd_parse_item (tmp); + } + else + { + // Assemble the first item in str from buf_ and s. + // + std::basic_string str; + str.swap (buf_); + str.append (data + i, j - i); + ro_string tmp (str); // Private copy ctor. + _xsd_parse_item (tmp); + } + + i = bits::find_ns (data, size, j); + } + else + { + // Last fragment, append it to the buf_. + // + buf_.append (data + i, size - i); + break; + } + } + } + + template + void list_base:: + _post_impl () + { + // Handle the last item. + // + if (!buf_.empty ()) + { + ro_string tmp (buf_); // Private copy ctor. + _xsd_parse_item (tmp); + } + + simple_content::_post_impl (); + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.hxx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.hxx new file mode 100644 index 0000000..09194e4 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.hxx @@ -0,0 +1,1123 @@ +// file : xsd/cxx/parser/validating/xml-schema-pimpl.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include + +#include // XSD_AUTO_PTR + +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // any_type + // + template + struct any_type_pimpl: virtual any_type_pskel + { + virtual void + post_any_type (); + }; + + // any_simple_type + // + template + struct any_simple_type_pimpl: virtual any_simple_type_pskel + { + virtual void + post_any_simple_type (); + }; + + // boolean + // + template + struct boolean_pimpl: virtual boolean_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual bool + post_boolean (); + + protected: + std::basic_string str_; + bool value_; + }; + + + // 8-bit + // + template + struct byte_pimpl: virtual byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual signed char + post_byte (); + + protected: + std::basic_string str_; + signed char value_; + }; + + + template + struct unsigned_byte_pimpl: virtual unsigned_byte_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned char + post_unsigned_byte (); + + protected: + std::basic_string str_; + unsigned char value_; + }; + + + // 16-bit + // + template + struct short_pimpl: virtual short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual short + post_short (); + + protected: + std::basic_string str_; + short value_; + }; + + + template + struct unsigned_short_pimpl: virtual unsigned_short_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned short + post_unsigned_short (); + + protected: + std::basic_string str_; + unsigned short value_; + }; + + + // 32-bit + // + template + struct int_pimpl: virtual int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual int + post_int (); + + protected: + std::basic_string str_; + int value_; + }; + + + template + struct unsigned_int_pimpl: virtual unsigned_int_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned int + post_unsigned_int (); + + protected: + std::basic_string str_; + unsigned int value_; + }; + + + // 64-bit + // + template + struct long_pimpl: virtual long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual long long + post_long (); + + protected: + std::basic_string str_; + long long value_; + }; + + + template + struct unsigned_long_pimpl: virtual unsigned_long_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned long long + post_unsigned_long (); + + protected: + std::basic_string str_; + unsigned long long value_; + }; + + + // Arbitrary-length integers. + // + template + struct integer_pimpl: virtual integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual long long + post_integer (); + + protected: + std::basic_string str_; + long long value_; + }; + + template + struct negative_integer_pimpl: virtual negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual long long + post_negative_integer (); + + protected: + std::basic_string str_; + long long value_; + }; + + template + struct non_positive_integer_pimpl: virtual non_positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual long long + post_non_positive_integer (); + + protected: + std::basic_string str_; + long long value_; + }; + + template + struct positive_integer_pimpl: virtual positive_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned long long + post_positive_integer (); + + protected: + std::basic_string str_; + unsigned long long value_; + }; + + template + struct non_negative_integer_pimpl: virtual non_negative_integer_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual unsigned long long + post_non_negative_integer (); + + protected: + std::basic_string str_; + unsigned long long value_; + }; + + + // Floats. + // + template + struct float_pimpl: virtual float_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual float + post_float (); + + protected: + std::basic_string str_; + float value_; + }; + + + template + struct double_pimpl: virtual double_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual double + post_double (); + + protected: + std::basic_string str_; + double value_; + }; + + + template + struct decimal_pimpl: virtual decimal_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual double + post_decimal (); + + protected: + std::basic_string str_; + double value_; + }; + + + // Strings. + // + template + struct string_pimpl: virtual string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_string (); + + protected: + std::basic_string str_; + }; + + template + struct normalized_string_pimpl: virtual normalized_string_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_normalized_string (); + + protected: + std::basic_string str_; + }; + + template + struct token_pimpl: virtual token_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_token (); + + protected: + std::basic_string str_; + }; + + template + struct name_pimpl: virtual name_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_name (); + + protected: + std::basic_string str_; + }; + + template + struct nmtoken_pimpl: virtual nmtoken_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_nmtoken (); + + protected: + std::basic_string str_; + }; + + template + struct nmtokens_pimpl: virtual nmtokens_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual void + _post (); + + virtual string_sequence + post_nmtokens (); + + protected: + string_sequence seq_; + nmtoken_pimpl parser_; + }; + + template + struct ncname_pimpl: virtual ncname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_ncname (); + + protected: + std::basic_string str_; + }; + + template + struct id_pimpl: virtual id_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_id (); + + protected: + std::basic_string str_; + }; + + template + struct idref_pimpl: virtual idref_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_idref (); + + protected: + std::basic_string str_; + }; + + template + struct idrefs_pimpl: virtual idrefs_pskel + { + virtual void + _pre (); + + virtual void + _xsd_parse_item (const ro_string&); + + virtual void + _post (); + + virtual string_sequence + post_idrefs (); + + protected: + string_sequence seq_; + idref_pimpl parser_; + }; + + // language + // + template + struct language_pimpl: virtual language_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual std::basic_string + post_language (); + + protected: + std::basic_string str_; + }; + + // anyURI + // + template + struct uri_pimpl: virtual uri_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual std::basic_string + post_uri (); + + protected: + std::basic_string str_; + }; + + // QName + // + template + struct qname_pimpl: virtual qname_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual qname + post_qname (); + + protected: + std::basic_string str_; + std::basic_string name_; + std::basic_string prefix_; + }; + + // base64Binary + // + template + struct base64_binary_pimpl: virtual base64_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual XSD_AUTO_PTR + post_base64_binary (); + + protected: + std::basic_string str_; + XSD_AUTO_PTR buf_; + }; + + // hexBinary + // + template + struct hex_binary_pimpl: virtual hex_binary_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual XSD_AUTO_PTR + post_hex_binary (); + + protected: + std::basic_string str_; + XSD_AUTO_PTR buf_; + }; + + // gday + // + template + struct gday_pimpl: virtual gday_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual gday + post_gday (); + + protected: + std::basic_string str_; + unsigned short day_; + bool z_; + short zh_, zm_; + }; + + // gmonth + // + template + struct gmonth_pimpl: virtual gmonth_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual gmonth + post_gmonth (); + + protected: + std::basic_string str_; + unsigned short month_; + bool z_; + short zh_, zm_; + }; + + // gyear + // + template + struct gyear_pimpl: virtual gyear_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual gyear + post_gyear (); + + protected: + std::basic_string str_; + int year_; + bool z_; + short zh_, zm_; + }; + + // gmonth_day + // + template + struct gmonth_day_pimpl: virtual gmonth_day_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual gmonth_day + post_gmonth_day (); + + protected: + std::basic_string str_; + unsigned short month_; + unsigned short day_; + bool z_; + short zh_, zm_; + }; + + // gyear_month + // + template + struct gyear_month_pimpl: virtual gyear_month_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual gyear_month + post_gyear_month (); + + protected: + std::basic_string str_; + int year_; + unsigned short month_; + bool z_; + short zh_, zm_; + }; + + // date + // + template + struct date_pimpl: virtual date_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual date + post_date (); + + protected: + std::basic_string str_; + int year_; + unsigned short month_; + unsigned short day_; + bool z_; + short zh_, zm_; + }; + + // time + // + template + struct time_pimpl: virtual time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual time + post_time (); + + protected: + std::basic_string str_; + unsigned short hours_; + unsigned short minutes_; + double seconds_; + bool z_; + short zh_, zm_; + }; + + // date_time + // + template + struct date_time_pimpl: virtual date_time_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual date_time + post_date_time (); + + protected: + std::basic_string str_; + int year_; + unsigned short month_; + unsigned short day_; + unsigned short hours_; + unsigned short minutes_; + double seconds_; + bool z_; + short zh_, zm_; + }; + + // duration + // + template + struct duration_pimpl: virtual duration_pskel + { + virtual void + _pre (); + + virtual void + _characters (const ro_string&); + + virtual void + _post (); + + virtual duration + post_duration (); + + protected: + std::basic_string str_; + bool negative_; + unsigned int years_; + unsigned int months_; + unsigned int days_; + unsigned int hours_; + unsigned int minutes_; + double seconds_; + }; + + // Literals. + // + namespace bits + { + template + const C* + boolean (); + + template + const C* + byte (); + + template + const C* + unsigned_byte (); + + template + const C* + short_ (); + + template + const C* + unsigned_short (); + + template + const C* + int_ (); + + template + const C* + unsigned_int (); + + template + const C* + long_ (); + + template + const C* + unsigned_long (); + + template + const C* + integer (); + + template + const C* + negative_integer (); + + template + const C* + non_positive_integer (); + + template + const C* + non_negative_integer (); + + template + const C* + positive_integer (); + + template + const C* + float_ (); + + template + const C* + double_ (); + + template + const C* + decimal (); + + template + const C* + name (); + + template + const C* + nmtoken (); + + template + const C* + nmtokens (); + + template + const C* + ncname (); + + template + const C* + id (); + + template + const C* + idref (); + + template + const C* + idrefs (); + + template + const C* + language (); + + template + const C* + qname (); + + template + const C* + base64_binary (); + + template + const C* + hex_binary (); + + template + const C* + gday (); + + template + const C* + gmonth (); + + template + const C* + gyear (); + + template + const C* + gmonth_day (); + + template + const C* + gyear_month (); + + template + const C* + date (); + + template + const C* + time (); + + template + const C* + date_time (); + + template + const C* + duration (); + + // float literals: INF -INF NaN + // + template + const C* + positive_inf (); + + template + const C* + negative_inf (); + + template + const C* + nan (); + + // boolean literals + // + template + const C* + true_ (); + + template + const C* + false_ (); + + template + const C* + one (); + + template + const C* + zero (); + } + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.ixx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.ixx new file mode 100644 index 0000000..d3c8c61 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.ixx @@ -0,0 +1,676 @@ +// file : xsd/cxx/parser/validating/xml-schema-pimpl.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + namespace bits + { + template<> + inline const char* + boolean () + { + return "boolean"; + } + + template<> + inline const char* + byte () + { + return "byte"; + } + + template<> + inline const char* + unsigned_byte () + { + return "unsignedByte"; + } + + template<> + inline const char* + short_ () + { + return "short"; + } + + template<> + inline const char* + unsigned_short () + { + return "unsignedShort"; + } + + template<> + inline const char* + int_ () + { + return "int"; + } + + template<> + inline const char* + unsigned_int () + { + return "unsignedInt"; + } + + template<> + inline const char* + long_ () + { + return "long"; + } + + template<> + inline const char* + unsigned_long () + { + return "unsignedLong"; + } + + template<> + inline const char* + integer () + { + return "integer"; + } + + template<> + inline const char* + negative_integer () + { + return "negativeInteger"; + } + + template<> + inline const char* + non_positive_integer () + { + return "nonPositiveInteger"; + } + + template<> + inline const char* + non_negative_integer () + { + return "nonNegativeInteger"; + } + + template<> + inline const char* + positive_integer () + { + return "positiveInteger"; + } + + template<> + inline const char* + float_ () + { + return "float"; + } + + template<> + inline const char* + double_ () + { + return "double"; + } + + template<> + inline const char* + decimal () + { + return "decimal"; + } + + template<> + inline const char* + name () + { + return "Name"; + } + + template<> + inline const char* + nmtoken () + { + return "NMTOKEN"; + } + + template<> + inline const char* + nmtokens () + { + return "NMTOKENS"; + } + + template<> + inline const char* + ncname () + { + return "NCName"; + } + + template<> + inline const char* + id () + { + return "ID"; + } + + template<> + inline const char* + idref () + { + return "IDREF"; + } + + template<> + inline const char* + idrefs () + { + return "IDREFS"; + } + + template<> + inline const char* + language () + { + return "language"; + } + + template<> + inline const char* + qname () + { + return "QName"; + } + + template<> + inline const char* + base64_binary () + { + return "base64Binary"; + } + + template<> + inline const char* + hex_binary () + { + return "hexBinary"; + } + + template<> + inline const char* + gday () + { + return "gDay"; + } + + template<> + inline const char* + gmonth () + { + return "gMonth"; + } + + template<> + inline const char* + gyear () + { + return "gYear"; + } + + template<> + inline const char* + gmonth_day () + { + return "gMonthDay"; + } + + template<> + inline const char* + gyear_month () + { + return "gYearMonth"; + } + + template<> + inline const char* + date () + { + return "date"; + } + + template<> + inline const char* + time () + { + return "time"; + } + + template<> + inline const char* + date_time () + { + return "dateTime"; + } + + template<> + inline const char* + duration () + { + return "duration"; + } + + // + // + template<> + inline const char* + positive_inf () + { + return "INF"; + } + + template<> + inline const char* + negative_inf () + { + return "-INF"; + } + + template<> + inline const char* + nan () + { + return "NaN"; + } + + // + // + template<> + inline const char* + true_ () + { + return "true"; + } + + template<> + inline const char* + false_ () + { + return "false"; + } + + template<> + inline const char* + one () + { + return "1"; + } + + template<> + inline const char* + zero () + { + return "0"; + } + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + namespace bits + { + template<> + inline const wchar_t* + boolean () + { + return L"boolean"; + } + + template<> + inline const wchar_t* + byte () + { + return L"byte"; + } + + template<> + inline const wchar_t* + unsigned_byte () + { + return L"unsignedByte"; + } + + template<> + inline const wchar_t* + short_ () + { + return L"short"; + } + + template<> + inline const wchar_t* + unsigned_short () + { + return L"unsignedShort"; + } + + template<> + inline const wchar_t* + int_ () + { + return L"int"; + } + + template<> + inline const wchar_t* + unsigned_int () + { + return L"unsignedInt"; + } + + template<> + inline const wchar_t* + long_ () + { + return L"long"; + } + + template<> + inline const wchar_t* + unsigned_long () + { + return L"unsignedLong"; + } + + template<> + inline const wchar_t* + integer () + { + return L"integer"; + } + + template<> + inline const wchar_t* + negative_integer () + { + return L"negativeInteger"; + } + + template<> + inline const wchar_t* + non_positive_integer () + { + return L"nonPositiveInteger"; + } + + template<> + inline const wchar_t* + non_negative_integer () + { + return L"nonNegativeInteger"; + } + + template<> + inline const wchar_t* + positive_integer () + { + return L"positiveInteger"; + } + + template<> + inline const wchar_t* + float_ () + { + return L"float"; + } + + template<> + inline const wchar_t* + double_ () + { + return L"double"; + } + + template<> + inline const wchar_t* + decimal () + { + return L"decimal"; + } + + template<> + inline const wchar_t* + name () + { + return L"Name"; + } + + template<> + inline const wchar_t* + nmtoken () + { + return L"NMTOKEN"; + } + + template<> + inline const wchar_t* + nmtokens () + { + return L"NMTOKENS"; + } + + template<> + inline const wchar_t* + ncname () + { + return L"NCName"; + } + + template<> + inline const wchar_t* + id () + { + return L"ID"; + } + + template<> + inline const wchar_t* + idref () + { + return L"IDREF"; + } + + template<> + inline const wchar_t* + idrefs () + { + return L"IDREFS"; + } + + template<> + inline const wchar_t* + language () + { + return L"language"; + } + + template<> + inline const wchar_t* + qname () + { + return L"QName"; + } + + template<> + inline const wchar_t* + base64_binary () + { + return L"base64Binary"; + } + + template<> + inline const wchar_t* + hex_binary () + { + return L"hexBinary"; + } + + template<> + inline const wchar_t* + gday () + { + return L"gDay"; + } + + template<> + inline const wchar_t* + gmonth () + { + return L"gMonth"; + } + + template<> + inline const wchar_t* + gyear () + { + return L"gYear"; + } + + template<> + inline const wchar_t* + gmonth_day () + { + return L"gMonthDay"; + } + + template<> + inline const wchar_t* + gyear_month () + { + return L"gYearMonth"; + } + + template<> + inline const wchar_t* + date () + { + return L"date"; + } + + template<> + inline const wchar_t* + time () + { + return L"time"; + } + + template<> + inline const wchar_t* + date_time () + { + return L"dateTime"; + } + + template<> + inline const wchar_t* + duration () + { + return L"duration"; + } + + + // + // + template<> + inline const wchar_t* + positive_inf () + { + return L"INF"; + } + + template<> + inline const wchar_t* + negative_inf () + { + return L"-INF"; + } + + template<> + inline const wchar_t* + nan () + { + return L"NaN"; + } + + // + // + template<> + inline const wchar_t* + true_ () + { + return L"true"; + } + + template<> + inline const wchar_t* + false_ () + { + return L"false"; + } + + template<> + inline const wchar_t* + one () + { + return L"1"; + } + + template<> + inline const wchar_t* + zero () + { + return L"0"; + } + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.txx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.txx new file mode 100644 index 0000000..6631dd2 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pimpl.txx @@ -0,0 +1,2758 @@ +// file : xsd/cxx/parser/validating/xml-schema-pimpl.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include +#include + +#ifdef XSD_CXX11 +# include // std::move +#endif + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // Note that most of the types implemented here cannot have + // whitespaces in the value. As result we don't need to waste + // time collapsing whitespaces. All we need to do is trim the + // string representation which can be done without copying. + // + + // Character table. + // + namespace bits + { + const unsigned char ncname_mask = 0x1; + const unsigned char name_first_mask = 0x2; + const unsigned char name_mask = 0x4; + + template + struct char_table + { + static C table[0x80]; + }; + + template + C char_table::table[0x80] = + { + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xD0, 0x00, 0x00, 0xD0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xD8, 0x48, 0x58, 0x48, 0x48, 0x48, 0x40, 0x58, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4D, 0x4D, 0x58, + 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4E, 0x48, 0x50, 0x48, 0x58, 0x48, + 0x48, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, + 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x48, 0x48, 0x40, 0x48, 0x4F, + 0x48, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, + 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x48, 0x48, 0x48, 0x48, 0x48 + }; + } + + // any_type + // + + template + void any_type_pimpl:: + post_any_type () + { + } + + // any_simple_type + // + + template + void any_simple_type_pimpl:: + post_any_simple_type () + { + } + + // boolean + // + + template + void boolean_pimpl:: + _pre () + { + str_.clear (); + } + + template + void boolean_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void boolean_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + if (str == bits::true_ () || str == bits::one ()) + value_ = true; + else if (str == bits::false_ () || str == bits::zero ()) + value_ = false; + else + throw invalid_value (bits::boolean (), str); + } + + template + bool boolean_pimpl:: + post_boolean () + { + return value_; + } + + // byte + // + + template + void byte_pimpl:: + _pre () + { + str_.clear (); + } + + template + void byte_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void byte_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + short t; + zc_istream is (str); + + if (is >> t && is.exhausted () && t >= -128 && t <= 127) + value_ = static_cast (t); + else + throw invalid_value (bits::byte (), str); + } + + template + signed char byte_pimpl:: + post_byte () + { + return value_; + } + + // unsigned_byte + // + + template + void unsigned_byte_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_byte_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void unsigned_byte_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + unsigned short t; + zc_istream is (str); + + if (is >> t && is.exhausted () && t <= 255) + value_ = static_cast (t); + else + throw invalid_value (bits::unsigned_byte (), str); + } + + template + unsigned char unsigned_byte_pimpl:: + post_unsigned_byte () + { + return value_; + } + + // short + // + + template + void short_pimpl:: + _pre () + { + str_.clear (); + } + + template + void short_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void short_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::short_ (), str); + } + + template + short short_pimpl:: + post_short () + { + return value_; + } + + + // unsigned_short + // + + template + void unsigned_short_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_short_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void unsigned_short_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::unsigned_short (), str); + } + + template + unsigned short unsigned_short_pimpl:: + post_unsigned_short () + { + return value_; + } + + // int + // + + template + void int_pimpl:: + _pre () + { + str_.clear (); + } + + template + void int_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void int_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::int_ (), str); + } + + template + int int_pimpl:: + post_int () + { + return value_; + } + + + // unsigned_int + // + + template + void unsigned_int_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_int_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void unsigned_int_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::unsigned_int (), str); + } + + template + unsigned int unsigned_int_pimpl:: + post_unsigned_int () + { + return value_; + } + + + // long + // + template + void long_pimpl:: + _pre () + { + str_.clear (); + } + + template + void long_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void long_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::long_ (), str); + } + + template + long long long_pimpl:: + post_long () + { + return value_; + } + + // unsigned_long + // + template + void unsigned_long_pimpl:: + _pre () + { + str_.clear (); + } + + template + void unsigned_long_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void unsigned_long_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::unsigned_long (), str); + } + + template + unsigned long long unsigned_long_pimpl:: + post_unsigned_long () + { + return value_; + } + + + // integer + // + template + void integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void integer_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::integer (), str); + } + + template + long long integer_pimpl:: + post_integer () + { + return value_; + } + + // negative_integer + // + template + void negative_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void negative_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void negative_integer_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted () && value_ < 0)) + throw invalid_value (bits::negative_integer (), str); + } + + template + long long negative_integer_pimpl:: + post_negative_integer () + { + return value_; + } + + + // non_positive_integer + // + template + void non_positive_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void non_positive_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void non_positive_integer_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted () && value_ <= 0)) + throw invalid_value (bits::non_positive_integer (), str); + } + + template + long long non_positive_integer_pimpl:: + post_non_positive_integer () + { + return value_; + } + + // positive_integer + // + template + void positive_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void positive_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void positive_integer_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted () && value_ > 0)) + throw invalid_value (bits::positive_integer (), str); + } + + template + unsigned long long positive_integer_pimpl:: + post_positive_integer () + { + return value_; + } + + + // non_negative_integer + // + template + void non_negative_integer_pimpl:: + _pre () + { + str_.clear (); + } + + template + void non_negative_integer_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void non_negative_integer_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::non_negative_integer (), str); + } + + template + unsigned long long non_negative_integer_pimpl:: + post_non_negative_integer () + { + return value_; + } + + + // float + // + template + void float_pimpl:: + _pre () + { + str_.clear (); + } + + template + void float_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void float_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + if (str == bits::positive_inf ()) + value_ = std::numeric_limits::infinity (); + else if (str == bits::negative_inf ()) + value_ = -std::numeric_limits::infinity (); + else if (str == bits::nan ()) + value_ = std::numeric_limits::quiet_NaN (); + else + { + zc_istream is (str); + is.imbue (std::locale::classic ()); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::float_ (), str); + } + } + + template + float float_pimpl:: + post_float () + { + return value_; + } + + + // double + // + template + void double_pimpl:: + _pre () + { + str_.clear (); + } + + template + void double_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void double_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + if (str == bits::positive_inf ()) + value_ = std::numeric_limits::infinity (); + else if (str == bits::negative_inf ()) + value_ = -std::numeric_limits::infinity (); + else if (str == bits::nan ()) + value_ = std::numeric_limits::quiet_NaN (); + else + { + zc_istream is (str); + is.imbue (std::locale::classic ()); + + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::double_ (), str); + } + } + + template + double double_pimpl:: + post_double () + { + return value_; + } + + // decimal + // + template + void decimal_pimpl:: + _pre () + { + str_.clear (); + } + + template + void decimal_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + void decimal_pimpl:: + _post () + { + ro_string str (str_); + trim (str); + + zc_istream is (str); + is.imbue (std::locale::classic ()); + + //@@ TODO: now we accept scientific notations and INF/NaN. + // + if (!(is >> value_ && is.exhausted ())) + throw invalid_value (bits::decimal (), str); + } + + template + double decimal_pimpl:: + post_decimal () + { + return value_; + } + + // string + // + template + void string_pimpl:: + _pre () + { + str_.clear (); + } + + template + void string_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + std::basic_string string_pimpl:: + post_string () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // normalized_string + // + template + void normalized_string_pimpl:: + _pre () + { + str_.clear (); + } + + template + void normalized_string_pimpl:: + _characters (const ro_string& s) + { + str_ += s; + } + + template + std::basic_string normalized_string_pimpl:: + post_normalized_string () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + + for (size_type i (0); i < size; ++i) + { + C& c = str_[i]; + + if (c == C (0x0A) || c == C (0x0D) || c == C (0x09)) + c = C (0x20); + } + + std::basic_string r; + r.swap (str_); + return r; + } + + // token + // + template + void token_pimpl:: + _pre () + { + str_.clear (); + } + + template + void token_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string token_pimpl:: + post_token () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + size_type j (0); + + bool subs (false); + + for (size_type i (0); i < size; ++i) + { + C c = str_[i]; + + if (c == C (0x20) || c == C (0x0A) || + c == C (0x0D) || c == C (0x09)) + { + subs = true; + } + else + { + if (subs) + { + subs = false; + str_[j++] = C (0x20); + } + + str_[j++] = c; + } + } + + str_.resize (j); + + std::basic_string r; + r.swap (str_); + return r; + } + + // name + // + template + void name_pimpl:: + _pre () + { + str_.clear (); + } + + template + void name_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void name_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + // For now we are only checking the US-ASCII characters. + // + + bool ok (size != 0); + + if (ok) + { + unsigned int c (static_cast (str_[0])); + + ok = c >= 0x80 || + (bits::char_table::table[c] & + bits::name_first_mask); + + if (ok) + { + for (size_type i (1); i < size; ++i) + { + c = static_cast (str_[i]); + + if (c < 0x80 && + !(bits::char_table::table[c] & + bits::name_mask)) + { + ok = false; + break; + } + } + } + } + + if (!ok) + throw invalid_value (bits::name (), tmp); + + str_.resize (size); + } + + template + std::basic_string name_pimpl:: + post_name () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // nmtoken + // + template + void nmtoken_pimpl:: + _pre () + { + str_.clear (); + } + + template + void nmtoken_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void nmtoken_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + // For now we are only checking the US-ASCII characters. + // + + bool ok (size != 0); + + if (ok) + { + for (size_type i (0); i < size; ++i) + { + unsigned int c (static_cast (str_[i])); + + if (c < 0x80 && + !(bits::char_table::table[c] & + bits::name_mask)) + { + ok = false; + break; + } + } + } + + if (!ok) + throw invalid_value (bits::nmtoken (), tmp); + + str_.resize (size); + } + + template + std::basic_string nmtoken_pimpl:: + post_nmtoken () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // nmtokens + // + template + void nmtokens_pimpl:: + _pre () + { + nmtokens_pskel::_pre (); + seq_.clear (); + } + + template + void nmtokens_pimpl:: + _post () + { + nmtokens_pskel::_post (); + + // Should have at least one element. + // + if (seq_.size () < 1) + { + ro_string tmp; + throw invalid_value (bits::nmtokens (), tmp); + } + } + + template + string_sequence nmtokens_pimpl:: + post_nmtokens () + { + string_sequence r; + r.swap (seq_); + return r; + } + + template + void nmtokens_pimpl:: + _xsd_parse_item (const ro_string& s) + { + parser_.pre (); + parser_._pre (); + parser_._characters (s); + parser_._post (); + seq_.push_back (parser_.post_nmtoken ()); + } + + // ncname + // + namespace bits + { + template + bool + valid_ncname (const C* s, typename ro_string::size_type size) + { + typedef typename ro_string::size_type size_type; + + // For now we are only checking the US-ASCII characters. + // + bool ok (size != 0); + + if (ok) + { + unsigned int c (static_cast (s[0])); + + ok = c >= 0x80 || + ((bits::char_table::table[c] & + bits::name_first_mask) && c != C (':')); + + if (ok) + { + for (size_type i (1); i < size; ++i) + { + c = static_cast (s[i]); + + if (c < 0x80 && + !(bits::char_table::table[c] & + bits::ncname_mask)) + { + ok = false; + break; + } + } + } + } + + return ok; + } + } + + template + void ncname_pimpl:: + _pre () + { + str_.clear (); + } + + template + void ncname_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void ncname_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + if (!bits::valid_ncname (tmp.data (), size)) + throw invalid_value (bits::ncname (), tmp); + + str_.resize (size); + } + + template + std::basic_string ncname_pimpl:: + post_ncname () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // id + // + template + void id_pimpl:: + _pre () + { + str_.clear (); + } + + template + void id_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void id_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + if (!bits::valid_ncname (tmp.data (), size)) + throw invalid_value (bits::id (), tmp); + + str_.resize (size); + } + + template + std::basic_string id_pimpl:: + post_id () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // idref + // + template + void idref_pimpl:: + _pre () + { + str_.clear (); + } + + template + void idref_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void idref_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + if (!bits::valid_ncname (tmp.data (), size)) + throw invalid_value (bits::idref (), tmp); + + str_.resize (size); + } + + template + std::basic_string idref_pimpl:: + post_idref () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // idrefs + // + template + void idrefs_pimpl:: + _pre () + { + idrefs_pskel::_pre (); + seq_.clear (); + } + + template + void idrefs_pimpl:: + _post () + { + idrefs_pskel::_post (); + + // Should have at least one element. + // + if (seq_.size () < 1) + { + ro_string tmp; + throw invalid_value (bits::idrefs (), tmp); + } + } + + template + string_sequence idrefs_pimpl:: + post_idrefs () + { + string_sequence r; + r.swap (seq_); + return r; + } + + template + void idrefs_pimpl:: + _xsd_parse_item (const ro_string& s) + { + parser_.pre (); + parser_._pre (); + parser_._characters (s); + parser_._post (); + seq_.push_back (parser_.post_idref ()); + } + + // language + // + template + void language_pimpl:: + _pre () + { + str_.clear (); + } + + template + void language_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void language_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + // language := ALPHA{1,8} *(-(ALPHA | DIGIT){1,8}) + // + bool ok (true); + + for (size_type tag (0), i (0); ; ++tag) + { + size_type n (0); + + for (; i < size && n < 8; ++n, ++i) + { + C c (tmp[i]); + + if (!((c >= C ('a') && c <= C ('z')) || + (c >= C ('A') && c <= C ('Z')) || + (tag != 0 && c >= C ('0') && c <= C ('9')))) + break; + } + + if (n == 0) + { + ok = false; + break; + } + + if (i == size) + break; + + if (tmp[i++] != C ('-')) + { + ok = false; + break; + } + } + + if (!ok) + throw invalid_value (bits::language (), tmp); + + str_.resize (size); + } + + template + std::basic_string language_pimpl:: + post_language () + { + std::basic_string r; + r.swap (str_); + return r; + } + + // uri + // + template + void uri_pimpl:: + _pre () + { + str_.clear (); + } + + template + void uri_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + std::basic_string uri_pimpl:: + post_uri () + { + // According to Datatypes 3.2.17 and RFC2396 pretty much anything + // can be a URI and conforming processors do not need to figure + // out and verify particular URI schemes. + // + ro_string tmp (str_); + str_.resize (trim_right (tmp)); + + std::basic_string r; + r.swap (str_); + return r; + } + + // qname + // + template + void qname_pimpl:: + _pre () + { + str_.clear (); + } + + template + void qname_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void qname_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + size_type pos (tmp.find (C (':'))); + + const C* s (tmp.data ()); + + if (pos != ro_string::npos) + { + if (!bits::valid_ncname (s, pos) || + !bits::valid_ncname (s + pos + 1, size - pos - 1)) + throw invalid_value (bits::qname (), tmp); + + prefix_.assign (s, pos); + name_.assign (s + pos + 1, size - pos - 1); + } + else + { + if (!bits::valid_ncname (s, size)) + throw invalid_value (bits::qname (), tmp); + + prefix_.clear (); + str_.resize (size); + name_.swap (str_); + } + } + + template + qname qname_pimpl:: + post_qname () + { + return prefix_.empty () + ? qname (name_) + : qname (prefix_, name_); + } + + // base64_binary + // + template + void base64_binary_pimpl:: + _pre () + { + str_.clear (); + } + + template + void base64_binary_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline unsigned char + base64_decode (C c) + { + unsigned char r (0xFF); + + if (c >= C('A') && c <= C ('Z')) + r = static_cast (c - C ('A')); + else if (c >= C('a') && c <= C ('z')) + r = static_cast (c - C ('a') + 26); + else if (c >= C('0') && c <= C ('9')) + r = static_cast (c - C ('0') + 52); + else if (c == C ('+')) + r = 62; + else if (c == C ('/')) + r = 63; + + return r; + } + } + + template + void base64_binary_pimpl:: + _post () + { + typedef typename std::basic_string::size_type size_type; + + size_type size (str_.size ()); + const C* src (str_.c_str ()); + + // Remove all whitespaces. + // + { + size_type j (0); + + bool subs (false); + + for (size_type i (0); i < size; ++i) + { + C c = str_[i]; + + if (c == C (0x20) || c == C (0x0A) || + c == C (0x0D) || c == C (0x09)) + { + subs = true; + } + else + { + if (subs) + subs = false; + + str_[j++] = c; + } + } + + size = j; + str_.resize (size); + } + + // Our length should be a multiple of four. + // + if (size == 0 || size % 4 != 0) + throw invalid_value (bits::base64_binary (), str_); + + size_type quad_count (size / 4); + size_type capacity (quad_count * 3 + 1); + + buf_.reset (new buffer (capacity, capacity)); + char* dst (buf_->data ()); + + size_type si (0), di (0); // Source and destination indexes. + + // Process all quads except the last one. + // + unsigned char b1, b2, b3, b4; + + for (size_type q (0); q < quad_count - 1; ++q) + { + b1 = bits::base64_decode (src[si++]); + b2 = bits::base64_decode (src[si++]); + b3 = bits::base64_decode (src[si++]); + b4 = bits::base64_decode (src[si++]); + + if (b1 == 0xFF || b2 == 0xFF || b3 == 0xFF || b4 == 0xFF) + throw invalid_value (bits::base64_binary (), str_); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + dst[di++] = (b3 << 6) | b4; + } + + // Process the last quad. The first two octets are always there. + // + b1 = bits::base64_decode (src[si++]); + b2 = bits::base64_decode (src[si++]); + + if (b1 == 0xFF || b2 == 0xFF) + throw invalid_value (bits::base64_binary (), str_); + + C e3 (src[si++]); + C e4 (src[si++]); + + if (e4 == C ('=')) + { + if (e3 == C ('=')) + { + // Two pads. Last 4 bits in b2 should be zero. + // + if ((b2 & 0x0F) != 0) + throw invalid_value (bits::base64_binary (), str_); + + dst[di++] = (b1 << 2) | (b2 >> 4); + } + else + { + // One pad. Last 2 bits in b3 should be zero. + // + b3 = bits::base64_decode (e3); + + if (b3 == 0xFF || (b3 & 0x03) != 0) + throw invalid_value (bits::base64_binary (), str_); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + } + } + else + { + // No pads. + // + b3 = bits::base64_decode (e3); + b4 = bits::base64_decode (e4); + + if (b3 == 0xFF || b4 == 0xFF) + throw invalid_value (bits::base64_binary (), str_); + + dst[di++] = (b1 << 2) | (b2 >> 4); + dst[di++] = (b2 << 4) | (b3 >> 2); + dst[di++] = (b3 << 6) | b4; + } + + // Set the real size. + // + buf_->size (di); + } + + template + XSD_AUTO_PTR base64_binary_pimpl:: + post_base64_binary () + { +#ifdef XSD_CXX11 + return std::move (buf_); +#else + return buf_; +#endif + } + + // hex_binary + // + template + void hex_binary_pimpl:: + _pre () + { + str_.clear (); + } + + template + void hex_binary_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline unsigned char + hex_decode (C c) + { + unsigned char r (0xFF); + + if (c >= C('0') && c <= C ('9')) + r = static_cast (c - C ('0')); + else if (c >= C ('A') && c <= C ('F')) + r = static_cast (10 + (c - C ('A'))); + else if (c >= C ('a') && c <= C ('f')) + r = static_cast (10 + (c - C ('a'))); + + return r; + } + } + + template + void hex_binary_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + if (size % 2 != 0) + throw invalid_value (bits::hex_binary (), tmp); + + buffer::size_t n (size / 2); + buf_.reset (new buffer (n)); + + if (n != 0) + { + const C* src (tmp.data ()); + char* dst (buf_->data ()); + buffer::size_t i (0); + + for (; i < n; ++i) + { + unsigned char h (bits::hex_decode (src[2 * i])); + unsigned char l (bits::hex_decode (src[2 * i + 1])); + + if (h == 0xFF || l == 0xFF) + break; + + dst[i] = (h << 4) | l; + } + + if (i != n) + throw invalid_value (bits::hex_binary (), tmp); + } + } + + template + XSD_AUTO_PTR hex_binary_pimpl:: + post_hex_binary () + { +#ifdef XSD_CXX11 + return std::move (buf_); +#else + return buf_; +#endif + } + + // time_zone + // + namespace bits + { + // Datatypes 3.2.7.3. Return false if time zone is invalid. + // + template + bool + parse_tz (const C* s, + typename std::basic_string::size_type n, + short& h, short& m) + { + // time_zone := Z|(+|-)HH:MM + // + if (n == 0) + { + return false; + } + else if (s[0] == 'Z') + { + if (n != 1) + return false; + + h = 0; + m = 0; + } + else + { + if (n != 6 || (s[0] != '-' && s[0] != '+') || s[3] != ':') + return false; + + // Parse hours. + // + char d1 = s[1]; + char d2 = s[2]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + return false; + + h = 10 * (d1 - '0') + (d2 - '0'); + + if (h > 14) + return false; + + // Parse minutes. + // + d1 = s[4]; + d2 = s[5]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + return false; + + m = 10 * (d1 - '0') + (d2 - '0'); + + if (m > 59 || (h == 14 && m != 0)) + return false; + + if (s[0] == '-') + { + h = -h; + m = -m; + } + } + + return true; + } + } + + // gday + // + template + void gday_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gday_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void gday_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // gday := ---DD[Z|(+|-)HH:MM] + // + if (size < 5 || + s[0] != C ('-') || s[1] != C ('-') || s[2] != C ('-')) + throw invalid_value (bits::gday (), tmp); + + C d1 (s[3]), d2 (s[4]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::gday (), tmp); + + day_ = 10 * (d1 - '0') + (d2 - '0'); + + if (day_ < 1 || day_ > 31) + throw invalid_value (bits::gday (), tmp); + + if (size > 5) + { + if (!bits::parse_tz (s + 5, size - 5, zh_, zm_)) + throw invalid_value (bits::gday (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + gday gday_pimpl:: + post_gday () + { + return z_ ? gday (day_, zh_, zm_) : gday (day_); + } + + // gmonth + // + template + void gmonth_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gmonth_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void gmonth_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // gmonth := --MM[Z|(+|-)HH:MM] + // + if (size < 4 || s[0] != C ('-') || s[1] != C ('-')) + throw invalid_value (bits::gmonth (), tmp); + + C d1 (s[2]), d2 (s[3]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::gmonth (), tmp); + + month_ = 10 * (d1 - '0') + (d2 - '0'); + + if (month_ < 1 || month_ > 12) + throw invalid_value (bits::gmonth (), tmp); + + if (size > 4) + { + if (!bits::parse_tz (s + 4, size - 4, zh_, zm_)) + throw invalid_value (bits::gmonth (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + gmonth gmonth_pimpl:: + post_gmonth () + { + return z_ ? gmonth (month_, zh_, zm_) : gmonth (month_); + } + + // gyear + // + template + void gyear_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gyear_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void gyear_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // gyear := [-]CCYY[N]*[Z|(+|-)HH:MM] + // + + if (size < 4 || (s[0] == C ('-') && size < 5)) + throw invalid_value (bits::gyear (), tmp); + + // Find the end of the year token. + // + size_type pos (s[0] == C ('-') ? 5 : 4); + for (; pos < size; ++pos) + { + C c (s[pos]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + ro_string year_fragment (s, pos); + zc_istream is (year_fragment); + + if (!(is >> year_ && is.exhausted () && year_ != 0)) + throw invalid_value (bits::gyear (), tmp); + + if (pos < size) + { + if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) + throw invalid_value (bits::gyear (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + gyear gyear_pimpl:: + post_gyear () + { + return z_ ? gyear (year_, zh_, zm_) : gyear (year_); + } + + // gmonth_day + // + template + void gmonth_day_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gmonth_day_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void gmonth_day_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // gmonth_day := --MM-DD[Z|(+|-)HH:MM] + // + if (size < 7 || + s[0] != C ('-') || s[1] != C ('-') || s[4] != C ('-')) + throw invalid_value (bits::gmonth_day (), tmp); + + // month + // + C d1 (s[2]), d2 (s[3]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::gmonth_day (), tmp); + + month_ = 10 * (d1 - '0') + (d2 - '0'); + + if (month_ < 1 || month_ > 12) + throw invalid_value (bits::gmonth_day (), tmp); + + // day + // + d1 = s[5]; + d2 = s[6]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::gmonth_day (), tmp); + + day_ = 10 * (d1 - '0') + (d2 - '0'); + + if (day_ < 1 || day_ > 31) + throw invalid_value (bits::gmonth_day (), tmp); + + // zone + // + if (size > 7) + { + if (!bits::parse_tz (s + 7, size - 7, zh_, zm_)) + throw invalid_value (bits::gmonth_day (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + gmonth_day gmonth_day_pimpl:: + post_gmonth_day () + { + return z_ + ? gmonth_day (month_, day_, zh_, zm_) + : gmonth_day (month_, day_); + } + + // gyear_month + // + template + void gyear_month_pimpl:: + _pre () + { + str_.clear (); + } + + template + void gyear_month_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void gyear_month_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM] + // + + if (size < 7 || (s[0] == C ('-') && size < 8)) + throw invalid_value (bits::gyear_month (), tmp); + + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); + + if (pos == ro_string::npos || (size - pos - 1) < 2) + throw invalid_value (bits::gyear_month (), tmp); + + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + + if (!(yis >> year_ && yis.exhausted () && year_ != 0)) + throw invalid_value (bits::gyear_month (), tmp); + + // month + // + C d1 (s[pos + 1]), d2 (s[pos + 2]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::gyear_month (), tmp); + + month_ = 10 * (d1 - '0') + (d2 - '0'); + + if (month_ < 1 || month_ > 12) + throw invalid_value (bits::gyear_month (), tmp); + + // zone + // + pos += 3; + + if (pos < size) + { + if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) + throw invalid_value (bits::gyear_month (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + gyear_month gyear_month_pimpl:: + post_gyear_month () + { + return z_ + ? gyear_month (year_, month_, zh_, zm_) + : gyear_month (year_, month_); + } + + // date + // + template + void date_pimpl:: + _pre () + { + str_.clear (); + } + + template + void date_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void date_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM] + // + + if (size < 10 || (s[0] == C ('-') && size < 11)) + throw invalid_value (bits::date (), tmp); + + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); + + if (pos == ro_string::npos + || (size - pos - 1) < 5 + || s[pos + 3] != C ('-')) + throw invalid_value (bits::date (), tmp); + + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + + if (!(yis >> year_ && yis.exhausted () && year_ != 0)) + throw invalid_value (bits::date (), tmp); + + // month + // + C d1 (s[pos + 1]), d2 (s[pos + 2]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date (), tmp); + + month_ = 10 * (d1 - '0') + (d2 - '0'); + + if (month_ < 1 || month_ > 12) + throw invalid_value (bits::date (), tmp); + + // day + // + d1 = s[pos + 4]; + d2 = s[pos + 5]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date (), tmp); + + day_ = 10 * (d1 - '0') + (d2 - '0'); + + if (day_ < 1 || day_ > 31) + throw invalid_value (bits::date (), tmp); + + // zone + // + pos += 6; + + if (pos < size) + { + if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) + throw invalid_value (bits::date (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + date date_pimpl:: + post_date () + { + return z_ + ? date (year_, month_, day_, zh_, zm_) + : date (year_, month_, day_); + } + + // time + // + template + void time_pimpl:: + _pre () + { + str_.clear (); + } + + template + void time_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void time_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // time := HH:MM:SS[.S+][Z|(+|-)HH:MM] + // + + if (size < 8 || s[2] != C (':') || s[5] != C (':')) + throw invalid_value (bits::time (), tmp); + + // hours + // + C d1 (s[0]), d2 (s[1]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::time (), tmp); + + hours_ = 10 * (d1 - '0') + (d2 - '0'); + + if (hours_ > 24) + throw invalid_value (bits::time (), tmp); + + // minutes + // + d1 = s[3]; + d2 = s[4]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::time (), tmp); + + minutes_ = 10 * (d1 - '0') + (d2 - '0'); + + if (minutes_ > 59) + throw invalid_value (bits::time (), tmp); + + // Find the end of the seconds fragment. + // + size_type pos (8); + for (; pos < size; ++pos) + { + C c (s[pos]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + // At least one digit should follow the fraction point. + // + if ((pos - 6) == 3) + throw invalid_value (bits::time (), tmp); + + ro_string seconds_fragment (s + 6, pos - 6); + zc_istream sis (seconds_fragment); + + if (!(sis >> seconds_ && sis.exhausted () && seconds_ < 60.0)) + throw invalid_value (bits::time (), tmp); + + if (hours_ == 24 && (minutes_ != 0 || seconds_ != 0.0)) + throw invalid_value (bits::time (), tmp); + + // zone + // + if (pos < size) + { + if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) + throw invalid_value (bits::time (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + time time_pimpl:: + post_time () + { + return z_ + ? time (hours_, minutes_, seconds_, zh_, zm_) + : time (hours_, minutes_, seconds_); + } + + + // date_time + // + template + void date_time_pimpl:: + _pre () + { + str_.clear (); + } + + template + void date_time_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + template + void date_time_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + const C* s (tmp.data ()); + + // date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM] + // + + if (size < 19 || (s[0] == C ('-') && size < 20)) + throw invalid_value (bits::date_time (), tmp); + + // Find the end of the year token. + // + size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); + + if (pos == ro_string::npos || (size - pos - 1) < 14 + || s[pos + 3] != C ('-') || s[pos + 6] != C ('T') + || s[pos + 9] != C (':') || s[pos + 12] != C (':')) + throw invalid_value (bits::date_time (), tmp); + + // year + // + ro_string year_fragment (s, pos); + zc_istream yis (year_fragment); + + if (!(yis >> year_ && yis.exhausted () && year_ != 0)) + throw invalid_value (bits::date_time (), tmp); + + // month + // + C d1 (s[pos + 1]), d2 (s[pos + 2]); + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date_time (), tmp); + + month_ = 10 * (d1 - '0') + (d2 - '0'); + + if (month_ < 1 || month_ > 12) + throw invalid_value (bits::date_time (), tmp); + + // day + // + d1 = s[pos + 4]; + d2 = s[pos + 5]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date_time (), tmp); + + day_ = 10 * (d1 - '0') + (d2 - '0'); + + if (day_ < 1 || day_ > 31) + throw invalid_value (bits::date_time (), tmp); + + pos += 7; // Point to the first H. + + // hours + // + d1 = s[pos]; + d2 = s[pos + 1]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date_time (), tmp); + + hours_ = 10 * (d1 - '0') + (d2 - '0'); + + if (hours_ > 24) + throw invalid_value (bits::date_time (), tmp); + + // minutes + // + d1 = s[pos + 3]; + d2 = s[pos + 4]; + + if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') + throw invalid_value (bits::date_time (), tmp); + + minutes_ = 10 * (d1 - '0') + (d2 - '0'); + + if (minutes_ > 59) + throw invalid_value (bits::date_time (), tmp); + + // Find the end of the seconds fragment. + // + pos += 6; // Point to the first S. + + size_type sec_end (pos + 2); + for (; sec_end < size; ++sec_end) + { + C c (s[sec_end]); + + if (c == C ('Z') || c == C ('+') || c == C ('-')) + break; + } + + // At least one digit should should follow the fraction point. + // + if ((sec_end - pos) == 3) + throw invalid_value (bits::date_time (), tmp); + + ro_string seconds_fragment (s + pos, sec_end - pos); + zc_istream sis (seconds_fragment); + + if (!(sis >> seconds_ && sis.exhausted () && seconds_ < 60.0)) + throw invalid_value (bits::date_time (), tmp); + + if (hours_ == 24 && (minutes_ != 0 || seconds_ != 0.0)) + throw invalid_value (bits::date_time (), tmp); + + // zone + // + if (sec_end < size) + { + if (!bits::parse_tz (s + sec_end, size - sec_end, zh_, zm_)) + throw invalid_value (bits::date_time (), tmp); + + z_ = true; + } + else + z_ = false; + } + + template + date_time date_time_pimpl:: + post_date_time () + { + return z_ + ? date_time (year_, month_, day_, hours_, minutes_, seconds_, + zh_, zm_) + : date_time (year_, month_, day_, hours_, minutes_, seconds_); + } + + // duration + // + template + void duration_pimpl:: + _pre () + { + str_.clear (); + } + + template + void duration_pimpl:: + _characters (const ro_string& s) + { + if (str_.size () == 0) + { + ro_string tmp (s.data (), s.size ()); + + if (trim_left (tmp) != 0) + str_ += tmp; + } + else + str_ += s; + } + + namespace bits + { + template + inline typename ro_string::size_type + duration_delim (const C* s, + typename ro_string::size_type pos, + typename ro_string::size_type size) + { + const C* p (s + pos); + for (; p < (s + size); ++p) + { + if (*p == C ('Y') || *p == C ('D') || *p == C ('M') || + *p == C ('H') || *p == C ('M') || *p == C ('S') || + *p == C ('T')) + break; + } + + return p - s; + } + } + + template + void duration_pimpl:: + _post () + { + typedef typename ro_string::size_type size_type; + + ro_string tmp (str_); + size_type size (trim_right (tmp)); + + negative_ = false; + years_ = 0; + months_ = 0; + days_ = 0; + hours_ = 0; + minutes_ = 0; + seconds_ = 0.0; + + // duration := [-]P[nY][nM][nD][TnHnMn[.n+]S] + // + const C* s (tmp.data ()); + + if (size < 3 || (s[0] == C ('-') && size < 4)) + throw invalid_value (bits::duration (), tmp); + + size_type pos (0); + + if (s[0] == C ('-')) + { + negative_ = true; + pos++; + } + + if (s[pos++] != C ('P')) + throw invalid_value (bits::duration (), tmp); + + size_type del (bits::duration_delim (s, pos, size)); + + // Duration should contain at least one component. + // + if (del == size) + throw invalid_value (bits::duration (), tmp); + + if (s[del] == C ('Y')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> years_ && is.exhausted ())) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('M')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> months_ && is.exhausted ())) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('D')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> days_ && is.exhausted ())) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('T')) + { + pos = del + 1; + del = bits::duration_delim (s, pos, size); + + // At least one time component should be present. + // + if (del == size) + throw invalid_value (bits::duration (), tmp); + + if (s[del] == C ('H')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> hours_ && is.exhausted ())) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('M')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> minutes_ && is.exhausted ())) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + del = bits::duration_delim (s, pos, size); + } + + if (del != size && s[del] == C ('S')) + { + ro_string fragment (s + pos, del - pos); + zc_istream is (fragment); + + if (!(is >> seconds_ && is.exhausted () && seconds_ >= 0.0)) + throw invalid_value (bits::duration (), tmp); + + pos = del + 1; + } + } + + // Something did not match or appeared in the wrong order. + // + if (pos != size) + throw invalid_value (bits::duration (), tmp); + } + + template + duration duration_pimpl:: + post_duration () + { + return duration ( + negative_, years_, months_, days_, hours_, minutes_, seconds_); + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.hxx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.hxx new file mode 100644 index 0000000..88cc3ab --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.hxx @@ -0,0 +1,649 @@ +// file : xsd/cxx/parser/validating/xml-schema-pskel.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX + +#include +#include // std::auto_ptr/unique_ptr + +#include // XSD_AUTO_PTR + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // anyType and anySimpleType. All events are routed to the + // _any_* callbacks. + // + template + struct any_type_pskel: complex_content + { + virtual bool + _start_element_impl (const ro_string&, + const ro_string&, + const ro_string*); + + virtual bool + _end_element_impl (const ro_string&, + const ro_string&); + + virtual bool + _attribute_impl_phase_two (const ro_string&, + const ro_string&, + const ro_string&); + + virtual bool + _characters_impl (const ro_string&); + + virtual void + post_any_type () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct any_simple_type_pskel: simple_content + { + virtual bool + _characters_impl (const ro_string&); + + virtual void + post_any_simple_type () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Boolean. + // + template + struct boolean_pskel: simple_content + { + virtual bool + post_boolean () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 8-bit + // + template + struct byte_pskel: simple_content + { + virtual signed char + post_byte () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_byte_pskel: simple_content + { + virtual unsigned char + post_unsigned_byte () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 16-bit + // + template + struct short_pskel: simple_content + { + virtual short + post_short () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_short_pskel: simple_content + { + virtual unsigned short + post_unsigned_short () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 32-bit + // + template + struct int_pskel: simple_content + { + virtual int + post_int () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_int_pskel: simple_content + { + virtual unsigned int + post_unsigned_int () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // 64-bit + // + template + struct long_pskel: simple_content + { + virtual long long + post_long () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct unsigned_long_pskel: simple_content + { + virtual unsigned long long + post_unsigned_long () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Arbitrary-length integers. + // + template + struct integer_pskel: simple_content + { + virtual long long + post_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct negative_integer_pskel: simple_content + { + virtual long long + post_negative_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct non_positive_integer_pskel: simple_content + { + virtual long long + post_non_positive_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct positive_integer_pskel: simple_content + { + virtual unsigned long long + post_positive_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct non_negative_integer_pskel: simple_content + { + virtual unsigned long long + post_non_negative_integer () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Floats. + // + template + struct float_pskel: simple_content + { + virtual float + post_float () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct double_pskel: simple_content + { + virtual double + post_double () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct decimal_pskel: simple_content + { + virtual double + post_decimal () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + + // Strings. + // + template + struct string_pskel: simple_content + { + virtual std::basic_string + post_string () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct normalized_string_pskel: simple_content + { + virtual std::basic_string + post_normalized_string () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct token_pskel: simple_content + { + virtual std::basic_string + post_token () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct name_pskel: simple_content + { + virtual std::basic_string + post_name () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct nmtoken_pskel: simple_content + { + virtual std::basic_string + post_nmtoken () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct nmtokens_pskel: list_base + { + virtual string_sequence + post_nmtokens () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct ncname_pskel: simple_content + { + virtual std::basic_string + post_ncname () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct id_pskel: simple_content + { + virtual std::basic_string + post_id () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct idref_pskel: simple_content + { + virtual std::basic_string + post_idref () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct idrefs_pskel: list_base + { + virtual string_sequence + post_idrefs () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Language. + // + template + struct language_pskel: simple_content + { + virtual std::basic_string + post_language () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // URI. + // + template + struct uri_pskel: simple_content + { + virtual std::basic_string + post_uri () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // QName. + // + template + struct qname_pskel: simple_content + { + virtual qname + post_qname () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Base64 and hex binaries. + // + template + struct base64_binary_pskel: simple_content + { + virtual XSD_AUTO_PTR + post_base64_binary () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct hex_binary_pskel: simple_content + { + virtual XSD_AUTO_PTR + post_hex_binary () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + // Time and date types. + // + template + struct gday_pskel: simple_content + { + virtual gday + post_gday () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gmonth_pskel: simple_content + { + virtual gmonth + post_gmonth () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gyear_pskel: simple_content + { + virtual gyear + post_gyear () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gmonth_day_pskel: simple_content + { + virtual gmonth_day + post_gmonth_day () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct gyear_month_pskel: simple_content + { + virtual gyear_month + post_gyear_month () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct date_pskel: simple_content + { + virtual date + post_date () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct time_pskel: simple_content + { + virtual time + post_time () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct date_time_pskel: simple_content + { + virtual date_time + post_date_time () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + + template + struct duration_pskel: simple_content + { + virtual duration + post_duration () = 0; + + static const C* + _static_type (); + + virtual const C* + _dynamic_type () const; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.ixx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.ixx new file mode 100644 index 0000000..03207d4 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.ixx @@ -0,0 +1,1249 @@ +// file : xsd/cxx/parser/validating/xml-schema-pskel.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + template<> + inline const char* any_type_pskel:: + _static_type () + { + return "anyType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* any_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* any_simple_type_pskel:: + _static_type () + { + return "anySimpleType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* any_simple_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* boolean_pskel:: + _static_type () + { + return "boolean http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* boolean_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* byte_pskel:: + _static_type () + { + return "byte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_byte_pskel:: + _static_type () + { + return "unsignedByte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* short_pskel:: + _static_type () + { + return "short http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_short_pskel:: + _static_type () + { + return "unsignedShort http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* int_pskel:: + _static_type () + { + return "int http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_int_pskel:: + _static_type () + { + return "unsignedInt http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* long_pskel:: + _static_type () + { + return "long http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* unsigned_long_pskel:: + _static_type () + { + return "unsignedLong http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* unsigned_long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* integer_pskel:: + _static_type () + { + return "integer http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* negative_integer_pskel:: + _static_type () + { + return "negativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* non_positive_integer_pskel:: + _static_type () + { + return "nonPositiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* non_positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* positive_integer_pskel:: + _static_type () + { + return "positiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* non_negative_integer_pskel:: + _static_type () + { + return "nonNegativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* non_negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* float_pskel:: + _static_type () + { + return "float http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* float_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* double_pskel:: + _static_type () + { + return "double http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* double_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* decimal_pskel:: + _static_type () + { + return "decimal http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* decimal_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* string_pskel:: + _static_type () + { + return "string http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* normalized_string_pskel:: + _static_type () + { + return "normalizedString http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* normalized_string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* token_pskel:: + _static_type () + { + return "token http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* token_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* name_pskel:: + _static_type () + { + return "Name http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* name_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* nmtoken_pskel:: + _static_type () + { + return "NMTOKEN http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* nmtoken_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* nmtokens_pskel:: + _static_type () + { + return "NMTOKENS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* nmtokens_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* ncname_pskel:: + _static_type () + { + return "NCName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* ncname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* id_pskel:: + _static_type () + { + return "ID http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* id_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* idref_pskel:: + _static_type () + { + return "IDREF http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* idref_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* idrefs_pskel:: + _static_type () + { + return "IDREFS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* idrefs_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* language_pskel:: + _static_type () + { + return "language http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* language_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* uri_pskel:: + _static_type () + { + return "anyURI http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* uri_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* qname_pskel:: + _static_type () + { + return "QName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* qname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* base64_binary_pskel:: + _static_type () + { + return "base64Binary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* base64_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* hex_binary_pskel:: + _static_type () + { + return "hexBinary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* hex_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gday_pskel:: + _static_type () + { + return "gDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gday_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gmonth_pskel:: + _static_type () + { + return "gMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gmonth_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gyear_pskel:: + _static_type () + { + return "gYear http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gyear_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gmonth_day_pskel:: + _static_type () + { + return "gMonthDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gmonth_day_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* gyear_month_pskel:: + _static_type () + { + return "gYearMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* gyear_month_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* date_pskel:: + _static_type () + { + return "date http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* date_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* time_pskel:: + _static_type () + { + return "time http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* date_time_pskel:: + _static_type () + { + return "dateTime http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* date_time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const char* duration_pskel:: + _static_type () + { + return "duration http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const char* duration_pskel:: + _dynamic_type () const + { + return _static_type (); + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR +#endif // XSD_CXX_PARSER_USE_CHAR + + +#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) + +#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR +#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + template<> + inline const wchar_t* any_type_pskel:: + _static_type () + { + return L"anyType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* any_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* any_simple_type_pskel:: + _static_type () + { + return L"anySimpleType http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* any_simple_type_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* boolean_pskel:: + _static_type () + { + return L"boolean http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* boolean_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* byte_pskel:: + _static_type () + { + return L"byte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_byte_pskel:: + _static_type () + { + return L"unsignedByte http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_byte_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* short_pskel:: + _static_type () + { + return L"short http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_short_pskel:: + _static_type () + { + return L"unsignedShort http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_short_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* int_pskel:: + _static_type () + { + return L"int http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_int_pskel:: + _static_type () + { + return L"unsignedInt http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_int_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* long_pskel:: + _static_type () + { + return L"long http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* unsigned_long_pskel:: + _static_type () + { + return L"unsignedLong http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* unsigned_long_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* integer_pskel:: + _static_type () + { + return L"integer http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* negative_integer_pskel:: + _static_type () + { + return L"negativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* non_positive_integer_pskel:: + _static_type () + { + return L"nonPositiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* non_positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* positive_integer_pskel:: + _static_type () + { + return L"positiveInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* positive_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* non_negative_integer_pskel:: + _static_type () + { + return L"nonNegativeInteger http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* non_negative_integer_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* float_pskel:: + _static_type () + { + return L"float http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* float_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* double_pskel:: + _static_type () + { + return L"double http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* double_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* decimal_pskel:: + _static_type () + { + return L"decimal http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* decimal_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* string_pskel:: + _static_type () + { + return L"string http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* normalized_string_pskel:: + _static_type () + { + return L"normalizedString http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* normalized_string_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* token_pskel:: + _static_type () + { + return L"token http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* token_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* name_pskel:: + _static_type () + { + return L"Name http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* name_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* nmtoken_pskel:: + _static_type () + { + return L"NMTOKEN http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* nmtoken_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* nmtokens_pskel:: + _static_type () + { + return L"NMTOKENS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* nmtokens_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* ncname_pskel:: + _static_type () + { + return L"NCName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* ncname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* id_pskel:: + _static_type () + { + return L"ID http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* id_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* idref_pskel:: + _static_type () + { + return L"IDREF http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* idref_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* idrefs_pskel:: + _static_type () + { + return L"IDREFS http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* idrefs_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* language_pskel:: + _static_type () + { + return L"language http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* language_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* uri_pskel:: + _static_type () + { + return L"anyURI http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* uri_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* qname_pskel:: + _static_type () + { + return L"QName http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* qname_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* base64_binary_pskel:: + _static_type () + { + return L"base64Binary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* base64_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* hex_binary_pskel:: + _static_type () + { + return L"hexBinary http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* hex_binary_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gday_pskel:: + _static_type () + { + return L"gDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gday_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gmonth_pskel:: + _static_type () + { + return L"gMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gmonth_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gyear_pskel:: + _static_type () + { + return L"gYear http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gyear_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gmonth_day_pskel:: + _static_type () + { + return L"gMonthDay http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gmonth_day_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* gyear_month_pskel:: + _static_type () + { + return L"gYearMonth http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* gyear_month_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* date_pskel:: + _static_type () + { + return L"date http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* date_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* time_pskel:: + _static_type () + { + return L"time http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* date_time_pskel:: + _static_type () + { + return L"dateTime http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* date_time_pskel:: + _dynamic_type () const + { + return _static_type (); + } + + template<> + inline const wchar_t* duration_pskel:: + _static_type () + { + return L"duration http://www.w3.org/2001/XMLSchema"; + } + + template<> + inline const wchar_t* duration_pskel:: + _dynamic_type () const + { + return _static_type (); + } + } + } + } +} + +#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR +#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.txx b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.txx new file mode 100644 index 0000000..43366a3 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/validating/xml-schema-pskel.txx @@ -0,0 +1,69 @@ +// file : xsd/cxx/parser/validating/xml-schema-pskel.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace validating + { + // any_type + // + + template + bool any_type_pskel:: + _start_element_impl (const ro_string& ns, + const ro_string& name, + const ro_string* type) + { + this->_start_any_element (ns, name, type); + this->complex_content::context_.top ().any_ = true; + return true; + } + + template + bool any_type_pskel:: + _end_element_impl (const ro_string& ns, const ro_string& name) + { + this->complex_content::context_.top ().any_ = false; + this->_end_any_element (ns, name); + return true; + } + + + template + bool any_type_pskel:: + _attribute_impl_phase_two (const ro_string& ns, + const ro_string& name, + const ro_string& value) + { + this->_any_attribute (ns, name, value); + return true; + } + + template + bool any_type_pskel:: + _characters_impl (const ro_string& s) + { + this->_any_characters (s); + return true; + } + + // any_simple_type + // + + template + bool any_simple_type_pskel:: + _characters_impl (const ro_string& s) + { + this->_any_characters (s); + return true; + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/xerces/elements.hxx b/xsd-4.0.0/xsd/cxx/parser/xerces/elements.hxx new file mode 100644 index 0000000..35920a4 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/xerces/elements.hxx @@ -0,0 +1,465 @@ +// file : xsd/cxx/parser/xerces/elements.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_XERCES_ELEMENTS_HXX +#define XSD_CXX_PARSER_XERCES_ELEMENTS_HXX + +#include // std::auto_ptr/unique_ptr +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include // XSD_AUTO_PTR + +#include +#include + +#include +#include +#include + +#if _XERCES_VERSION < 30000 +# error Xerces-C++ 2-series is not supported +#endif + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace xerces + { + // + // + struct flags + { + // Use the following flags to modify the default behavior + // of the parsing functions. + // + + // Do not try to validate instance documents. + // + static const unsigned long dont_validate = 0x00000001; + + // Do not initialize the Xerces-C++ runtime. + // + static const unsigned long dont_initialize = 0x00000002; + + // Disable handling of subsequent imports for the same namespace + // in Xerces-C++ 3.1.0 and later. + // + static const unsigned long no_multiple_imports = 0x00000004; + + public: + flags (unsigned long x = 0) + : x_ (x) + { + } + + operator unsigned long () const + { + return x_; + } + + private: + unsigned long x_; + }; + + + // Parsing properties. Refer to xsd/cxx/xml/elements.hxx for + // XML-related properties. + // + template + class properties: public xml::properties + { + }; + + // + // + template + struct document: cxx::parser::document // VC likes it qualified + { + public: + document (parser_base& root, + const C* root_element_name, + bool polymorphic = false); + + document (parser_base& root, + const std::basic_string& root_element_name, + bool polymorphic = false); + + document (parser_base& root, + const C* root_element_namespace, + const C* root_element_name, + bool polymorphic = false); + + document (parser_base& root, + const std::basic_string& root_element_namespace, + const std::basic_string& root_element_name, + bool polymorphic = false); + + protected: + explicit + document (bool polymorphic = false); + + public: + // Parse URI or a local file. We have to overload it for const C* + // bacause xercesc::InputSource has an implicit constructor that + // takes const char*. + // + void + parse (const std::basic_string& uri, + flags = 0, + const properties& = properties ()); + + void + parse (const C* uri, + flags = 0, + const properties& = properties ()); + + + // Parse URI or a local file with a user-provided error_handler + // object. + // + void + parse (const std::basic_string& uri, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + void + parse (const C* uri, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + + // Parse URI or a local file with a user-provided ErrorHandler + // object. Note that you must initialize the Xerces-C++ runtime + // before calling these functions. + // + void + parse (const std::basic_string& uri, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + void + parse (const C* uri, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + + // Parse URI or a local file using a user-provided SAX2XMLReader + // object. Note that you must initialize the Xerces-C++ runtime + // before calling these functions. + // + void + parse (const std::basic_string& uri, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + void + parse (const C* uri, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + + public: + // System id is a "system" identifier of the resources (e.g., + // URI or a full file path). Public id is a "public" identifier + // of the resource (e.g., an application-specific name or a + // relative file path). System id is used to resolve relative + // paths. In diagnostics messages system id is used if public + // id is not available. Otherwise public id is used. + // + + // Parse std::istream. + // + void + parse (std::istream&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with a user-provided error_handler object. + // + void + parse (std::istream&, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with a user-provided ErrorHandler object. + // Note that you must initialize the Xerces-C++ runtime before + // calling this function. + // + void + parse (std::istream&, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream using a user-provided SAX2XMLReader object. + // Note that you must initialize the Xerces-C++ runtime before + // calling this function. + // + void + parse (std::istream&, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + + public: + // Parse std::istream with a system id. + // + void + parse (std::istream&, + const std::basic_string& system_id, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with a system id and a user-provided + // error_handler object. + // + void + parse (std::istream&, + const std::basic_string& system_id, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with a system id and a user-provided + // ErrorHandler object. Note that you must initialize the + // Xerces-C++ runtime before calling this function. + // + void + parse (std::istream&, + const std::basic_string& system_id, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with a system id using a user-provided + // SAX2XMLReader object. Note that you must initialize the + // Xerces-C++ runtime before calling this function. + // + void + parse (std::istream&, + const std::basic_string& system_id, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + + + public: + // Parse std::istream with system and public ids. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with system and public ids and a user-provided + // error_handler object. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with system and public ids and a user-provided + // ErrorHandler object. Note that you must initialize the Xerces-C++ + // runtime before calling this function. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + + // Parse std::istream with system and public ids using a user- + // provided SAX2XMLReader object. Note that you must initialize + // the Xerces-C++ runtime before calling this function. + // + void + parse (std::istream&, + const std::basic_string& system_id, + const std::basic_string& public_id, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + + public: + // Parse InputSource. Note that you must initialize the Xerces-C++ + // runtime before calling this function. + // + void + parse (const xercesc::InputSource&, + flags = 0, + const properties& = properties ()); + + + // Parse InputSource with a user-provided error_handler object. + // Note that you must initialize the Xerces-C++ runtime before + // calling this function. + // + void + parse (const xercesc::InputSource&, + xml::error_handler&, + flags = 0, + const properties& = properties ()); + + + // Parse InputSource with a user-provided ErrorHandler object. + // Note that you must initialize the Xerces-C++ runtime before + // calling this function. + // + void + parse (const xercesc::InputSource&, + xercesc::ErrorHandler&, + flags = 0, + const properties& = properties ()); + + + // Parse InputSource using a user-provided SAX2XMLReader object. + // Note that you must initialize the Xerces-C++ runtime before + // calling this function. + // + void + parse (const xercesc::InputSource&, + xercesc::SAX2XMLReader&, + flags = 0, + const properties& = properties ()); + + private: + void + parse (const std::basic_string& uri, + xercesc::ErrorHandler&, + xercesc::SAX2XMLReader&, + flags, + const properties&); + + void + parse (const xercesc::InputSource&, + xercesc::ErrorHandler&, + xercesc::SAX2XMLReader&, + flags, + const properties&); + + private: + XSD_AUTO_PTR + create_sax_ (flags, const properties&); + + private: + bool polymorphic_; + }; + + // + // + template + struct event_router: xercesc::DefaultHandler + { + event_router (cxx::parser::document&, bool polymorphic); + + // I know, some of those consts are stupid. But that's what + // Xerces folks put into their interfaces and VC thinks there + // are different signatures if one strips this fluff off. + // + virtual void + setDocumentLocator (const xercesc::Locator* const); + + virtual void + startElement (const XMLCh* const uri, + const XMLCh* const lname, + const XMLCh* const qname, + const xercesc::Attributes& attributes); + + virtual void + endElement (const XMLCh* const uri, + const XMLCh* const lname, + const XMLCh* const qname); + + virtual void + characters (const XMLCh* const s, const XMLSize_t length); + + virtual void + startPrefixMapping (const XMLCh* const prefix, + const XMLCh* const uri); + + virtual void + endPrefixMapping (const XMLCh* const prefix); + + private: + void + set_location (schema_exception&); + + private: + const xercesc::Locator* loc_; + cxx::parser::document& consumer_; + bool polymorphic_; + + // Last element name cache. + // + bool last_valid_; + std::basic_string last_ns_; + std::basic_string last_name_; + + // Namespace-prefix mapping. Only maintained in the polymorphic + // case. + // + struct ns_decl + { + ns_decl (const std::basic_string& p, + const std::basic_string& n) + : prefix (p), ns (n) + { + } + + std::basic_string prefix; + std::basic_string ns; + }; + + typedef std::vector ns_decls; + + ns_decls ns_decls_; + }; + } + } + } +} + +#include + +#endif // XSD_CXX_PARSER_XERCES_ELEMENTS_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/xerces/elements.txx b/xsd-4.0.0/xsd/cxx/parser/xerces/elements.txx new file mode 100644 index 0000000..2324b0c --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/xerces/elements.txx @@ -0,0 +1,949 @@ +// file : xsd/cxx/parser/xerces/elements.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include +#include // std::size_t +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include // xml::bits::{xml_prefix, etc} + +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace parser + { + namespace xerces + { + + // document + // + + template + document:: + document (parser_base& parser, + const C* name, + bool polymorphic) + : cxx::parser::document (parser, std::basic_string (), name), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& parser, + const std::basic_string& name, + bool polymorphic) + : cxx::parser::document (parser, std::basic_string (), name), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& parser, + const C* ns, + const C* name, + bool polymorphic) + : cxx::parser::document (parser, ns, name), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (parser_base& parser, + const std::basic_string& ns, + const std::basic_string& name, + bool polymorphic) + : cxx::parser::document (parser, ns, name), + polymorphic_ (polymorphic) + { + } + + template + document:: + document (bool polymorphic) + : polymorphic_ (polymorphic) + { + } + + // parse (uri) + // + template + void document:: + parse (const std::basic_string& uri, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + + error_handler eh; + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (uri, eh_proxy, *sax, f, p); + + eh.throw_if_failed (); + } + + template + void document:: + parse (const C* uri, + flags f, + const properties& p) + { + parse (std::basic_string (uri), f, p); + } + + // error_handler + // + + template + void document:: + parse (const std::basic_string& uri, + xml::error_handler& eh, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (uri, eh_proxy, *sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + + template + void document:: + parse (const C* uri, + xml::error_handler& eh, + flags f, + const properties& p) + { + parse (std::basic_string (uri), eh, f, p); + } + + // ErrorHandler + // + + template + void document:: + parse (const std::basic_string& uri, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (uri, eh_proxy, *sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + + template + void document:: + parse (const C* uri, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + parse (std::basic_string (uri), eh, f, p); + } + + // SAX2XMLReader + // + + template + void document:: + parse (const std::basic_string& uri, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + // If there is no error handler, then fall back on the default + // implementation. + // + xercesc::ErrorHandler* eh (sax.getErrorHandler ()); + + if (eh) + { + xml::sax::bits::error_handler_proxy eh_proxy (*eh); + + parse (uri, eh_proxy, sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + else + { + error_handler fallback_eh; + xml::sax::bits::error_handler_proxy eh_proxy (fallback_eh); + + parse (uri, eh_proxy, sax, f, p); + + fallback_eh.throw_if_failed (); + } + } + + template + void document:: + parse (const C* uri, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + parse (std::basic_string (uri), sax, f, p); + } + + // parse (istream) + // + + template + void document:: + parse (std::istream& is, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + + xml::sax::std_input_source isrc (is); + + parse (isrc, f, p); + } + + template + void document:: + parse (std::istream& is, + xml::error_handler& eh, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + xml::sax::std_input_source isrc (is); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is); + parse (isrc, sax, f, p); + } + + + // parse (istream, system_id) + // + + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + xml::sax::std_input_source isrc (is, system_id); + parse (isrc, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + xml::error_handler& eh, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + xml::sax::std_input_source isrc (is, system_id); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is, system_id); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is, system_id); + parse (isrc, sax, f, p); + } + + + // parse (istream, system_id, public_id) + // + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + xml::sax::std_input_source isrc (is, system_id, public_id); + parse (isrc, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id, + xml::error_handler& eh, + flags f, + const properties& p) + { + xml::auto_initializer init ((f & flags::dont_initialize) == 0); + xml::sax::std_input_source isrc (is, system_id, public_id); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is, system_id, public_id); + parse (isrc, eh, f, p); + } + + template + void document:: + parse (std::istream& is, + const std::basic_string& system_id, + const std::basic_string& public_id, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + xml::sax::std_input_source isrc (is, system_id, public_id); + parse (isrc, sax, f, p); + } + + + // parse (InputSource) + // + + + template + void document:: + parse (const xercesc::InputSource& is, + flags f, + const properties& p) + { + error_handler eh; + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (is, eh_proxy, *sax, f, p); + + eh.throw_if_failed (); + } + + template + void document:: + parse (const xercesc::InputSource& is, + xml::error_handler& eh, + flags f, + const properties& p) + { + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (is, eh_proxy, *sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + + template + void document:: + parse (const xercesc::InputSource& is, + xercesc::ErrorHandler& eh, + flags f, + const properties& p) + { + xml::sax::bits::error_handler_proxy eh_proxy (eh); + XSD_AUTO_PTR sax (create_sax_ (f, p)); + + parse (is, eh_proxy, *sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + + + template + void document:: + parse (const xercesc::InputSource& is, + xercesc::SAX2XMLReader& sax, + flags f, + const properties& p) + { + // If there is no error handler, then fall back on the default + // implementation. + // + xercesc::ErrorHandler* eh (sax.getErrorHandler ()); + + if (eh) + { + xml::sax::bits::error_handler_proxy eh_proxy (*eh); + + parse (is, eh_proxy, sax, f, p); + + if (eh_proxy.failed ()) + throw parsing (); + } + else + { + error_handler fallback_eh; + xml::sax::bits::error_handler_proxy eh_proxy (fallback_eh); + + parse (is, eh_proxy, sax, f, p); + + fallback_eh.throw_if_failed (); + } + } + + namespace Bits + { + struct ErrorHandlingController + { + ErrorHandlingController (xercesc::SAX2XMLReader& sax, + xercesc::ErrorHandler& eh) + : sax_ (sax), eh_ (sax_.getErrorHandler ()) + { + sax_.setErrorHandler (&eh); + } + + ~ErrorHandlingController () + { + sax_.setErrorHandler (eh_); + } + + private: + xercesc::SAX2XMLReader& sax_; + xercesc::ErrorHandler* eh_; + }; + + struct ContentHandlingController + { + ContentHandlingController (xercesc::SAX2XMLReader& sax, + xercesc::ContentHandler& ch) + : sax_ (sax), ch_ (sax_.getContentHandler ()) + { + sax_.setContentHandler (&ch); + } + + ~ContentHandlingController () + { + sax_.setContentHandler (ch_); + } + + private: + xercesc::SAX2XMLReader& sax_; + xercesc::ContentHandler* ch_; + }; + }; + + template + void document:: + parse (const std::basic_string& uri, + xercesc::ErrorHandler& eh, + xercesc::SAX2XMLReader& sax, + flags, + const properties&) + { + event_router router (*this, polymorphic_); + + Bits::ErrorHandlingController ehc (sax, eh); + Bits::ContentHandlingController chc (sax, router); + + try + { + sax.parse (xml::string (uri).c_str ()); + } + catch (const schema_exception& e) + { + xml::string id (e.id ()); + + xercesc::SAXParseException se ( + xml::string (e.message ()).c_str (), + id.c_str (), + id.c_str (), + static_cast (e.line ()), + static_cast (e.column ())); + + eh.fatalError (se); + } + } + + template + void document:: + parse (const xercesc::InputSource& is, + xercesc::ErrorHandler& eh, + xercesc::SAX2XMLReader& sax, + flags, + const properties&) + { + event_router router (*this, polymorphic_); + + Bits::ErrorHandlingController controller (sax, eh); + Bits::ContentHandlingController chc (sax, router); + + try + { + sax.parse (is); + } + catch (const schema_exception& e) + { + xml::string id (e.id ()); + + xercesc::SAXParseException se ( + xml::string (e.message ()).c_str (), + id.c_str (), + id.c_str (), + static_cast (e.line ()), + static_cast (e.column ())); + + eh.fatalError (se); + } + } + + + template + XSD_AUTO_PTR document:: + create_sax_ (flags f, const properties& p) + { + using namespace xercesc; + + XSD_AUTO_PTR sax ( + XMLReaderFactory::createXMLReader ()); + + sax->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); + sax->setFeature (XMLUni::fgSAX2CoreNameSpacePrefixes, true); + sax->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true); + + if (f & flags::dont_validate) + { + sax->setFeature (XMLUni::fgSAX2CoreValidation, false); + sax->setFeature (XMLUni::fgXercesSchema, false); + sax->setFeature (XMLUni::fgXercesSchemaFullChecking, false); + } + else + { + sax->setFeature (XMLUni::fgSAX2CoreValidation, true); + sax->setFeature (XMLUni::fgXercesSchema, true); + + // Xerces-C++ 3.1.0 is the first version with working multi import + // support. + // +#if _XERCES_VERSION >= 30100 + if (!(f & flags::no_multiple_imports)) + sax->setFeature (XMLUni::fgXercesHandleMultipleImports, true); +#endif + // This feature checks the schema grammar for additional + // errors. We most likely do not need it when validating + // instances (assuming the schema is valid). + // + sax->setFeature (XMLUni::fgXercesSchemaFullChecking, false); + } + + // Transfer properies if any. + // + + if (!p.schema_location ().empty ()) + { + xml::string sl (p.schema_location ()); + const void* v (sl.c_str ()); + + sax->setProperty ( + XMLUni::fgXercesSchemaExternalSchemaLocation, + const_cast (v)); + } + + if (!p.no_namespace_schema_location ().empty ()) + { + xml::string sl (p.no_namespace_schema_location ()); + const void* v (sl.c_str ()); + + sax->setProperty ( + XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation, + const_cast (v)); + } + + return sax; + } + + // event_router + // + template + event_router:: + event_router (cxx::parser::document& consumer, bool polymorphic) + : loc_ (0), consumer_ (consumer), polymorphic_ (polymorphic) + { + } + + template + void event_router:: + setDocumentLocator (const xercesc::Locator* const loc) + { + loc_ = loc; + } + + template + void event_router:: + startElement(const XMLCh* const uri, + const XMLCh* const lname, + const XMLCh* const /*qname*/, + const xercesc::Attributes& attributes) + { + using xercesc::XMLUni; + using xercesc::XMLString; + + typedef std::basic_string string; + + { + last_valid_ = true; + last_ns_ = xml::transcode (uri); + last_name_ = xml::transcode (lname); + + // Without this explicit construction IBM XL C++ complains + // about ro_string's copy ctor being private even though the + // temporary has been eliminated. Note that we cannot + // eliminate ns, name and value since ro_string does not make + // a copy. + // + ro_string ro_ns (last_ns_); + ro_string ro_name (last_name_); + + if (!polymorphic_) + { + try + { + consumer_.start_element (ro_ns, ro_name, 0); + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + else + { + // Search for the xsi:type attribute. + // + int i (attributes.getIndex ( + xercesc::SchemaSymbols::fgURI_XSI, + xercesc::SchemaSymbols::fgXSI_TYPE)); + + if (i == -1) + { + try + { + consumer_.start_element (ro_ns, ro_name, 0); + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + else + { + try + { + // @@ Probably need proper QName validation. + // + // Get the qualified type name and try to resolve it. + // + string qn (xml::transcode (attributes.getValue (i))); + + ro_string tp, tn; + typename string::size_type pos (qn.find (C (':'))); + + if (pos != string::npos) + { + tp.assign (qn.c_str (), pos); + tn.assign (qn.c_str () + pos + 1); + + if (tp.empty ()) + throw dynamic_type (qn); + } + else + tn.assign (qn); + + if (tn.empty ()) + throw dynamic_type (qn); + + // Search our namespace declaration stack. Sun CC 5.7 + // blows if we use const_reverse_iterator. + // + ro_string tns; + for (typename ns_decls::reverse_iterator + it (ns_decls_.rbegin ()), e (ns_decls_.rend ()); + it != e; ++it) + { + if (it->prefix == tp) + { + tns.assign (it->ns); + break; + } + } + + if (!tp.empty () && tns.empty ()) + { + // The 'xml' prefix requires special handling. + // + if (tp == xml::bits::xml_prefix ()) + tns.assign (xml::bits::xml_namespace ()); + else + throw dynamic_type (qn); + } + + // Construct the compound type id. + // + string id (tn.data (), tn.size ()); + + if (!tns.empty ()) + { + id += C (' '); + id.append (tns.data (), tns.size ()); + } + + ro_string ro_id (id); + consumer_.start_element (ro_ns, ro_name, &ro_id); + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + } + } + + for (XMLSize_t i (0), end (attributes.getLength()); i < end; ++i) + { + const XMLCh* xns (attributes.getURI (i)); + + // When SAX2 reports the xmlns attribute, it does not include + // the proper attribute namespace. So we have to detect and + // rectify this case. + // + if (XMLString::equals (attributes.getQName (i), + XMLUni::fgXMLNSString)) + xns = XMLUni::fgXMLNSURIName; + + string ns (xml::transcode (xns)); + string name (xml::transcode (attributes.getLocalName (i))); + string value (xml::transcode (attributes.getValue (i))); + + // Without this explicit construction IBM XL C++ complains + // about ro_string's copy ctor being private even though the + // temporary has been eliminated. Note that we cannot + // eliminate ns, name and value since ro_string does not make + // a copy. + // + ro_string ro_ns (ns); + ro_string ro_name (name); + ro_string ro_value (value); + + try + { + consumer_.attribute (ro_ns, ro_name, ro_value); + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + } + + template + void event_router:: + endElement(const XMLCh* const uri, + const XMLCh* const lname, + const XMLCh* const /*qname*/) + { + typedef std::basic_string string; + + try + { + // Without this explicit construction IBM XL C++ complains + // about ro_string's copy ctor being private even though the + // temporary has been eliminated. Note that we cannot + // eliminate ns, name and value since ro_string does not make + // a copy. + // + if (last_valid_) + { + last_valid_ = false; + ro_string ro_ns (last_ns_); + ro_string ro_name (last_name_); + + consumer_.end_element (ro_ns, ro_name); + } + else + { + string ns (xml::transcode (uri)); + string name (xml::transcode (lname)); + + ro_string ro_ns (ns); + ro_string ro_name (name); + + consumer_.end_element (ro_ns, ro_name); + } + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + + template + void event_router:: + characters (const XMLCh* const s, const XMLSize_t n) + { + typedef std::basic_string string; + + if (n != 0) + { + string str (xml::transcode (s, n)); + + // Without this explicit construction IBM XL C++ complains + // about ro_string's copy ctor being private even though the + // temporary has been eliminated. Note that we cannot + // eliminate str since ro_string does not make a copy. + // + ro_string ro_str (str); + + try + { + consumer_.characters (ro_str); + } + catch (schema_exception& e) + { + set_location (e); + throw; + } + } + } + + template + void event_router:: + startPrefixMapping (const XMLCh* const prefix, + const XMLCh* const uri) + { + if (polymorphic_) + { + typedef std::basic_string string; + + string p (xml::transcode (prefix)); + string ns (xml::transcode (uri)); + + ns_decls_.push_back (ns_decl (p, ns)); + } + } + + template + void event_router:: + endPrefixMapping (const XMLCh* const prefix) + { + if (polymorphic_) + { + typedef std::basic_string string; + + string p (xml::transcode (prefix)); + + // Here we assume the prefixes are removed in the reverse + // order of them being added. This appears to how every + // sensible implementation works. + // + assert (ns_decls_.back ().prefix == p); + + ns_decls_.pop_back (); + } + } + + template + void event_router:: + set_location (schema_exception& e) + { + if (loc_ != 0) + { + const XMLCh* id (loc_->getPublicId ()); + + if (id == 0) + id = loc_->getSystemId (); + + if (id != 0) + e.id (xml::transcode (id)); + + e.line (static_cast (loc_->getLineNumber ())); + e.column (static_cast (loc_->getColumnNumber ())); + } + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/xml-schema.hxx b/xsd-4.0.0/xsd/cxx/parser/xml-schema.hxx new file mode 100644 index 0000000..0c1ae03 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/xml-schema.hxx @@ -0,0 +1,572 @@ +// file : xsd/cxx/parser/xml-schema.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_XML_SCHEMA_HXX +#define XSD_CXX_PARSER_XML_SCHEMA_HXX + +#include +#include +#include // std::size_t + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // String sequence. Used for the NMTOKENS and IDREFS types. + // + template + class string_sequence: public std::vector > + { + public: + typedef std::basic_string value_type; + typedef std::vector base; + typedef typename base::size_type size_type; + + string_sequence (); + + explicit + string_sequence (size_type n, const value_type& x = value_type ()); + + template + string_sequence (const I& begin, const I& end); + }; + + template + bool + operator== (const string_sequence&, const string_sequence&); + + template + bool + operator!= (const string_sequence&, const string_sequence&); + + + // QName + // + template + class qname + { + public: + explicit + qname (const std::basic_string& name); + + qname (const std::basic_string& prefix, + const std::basic_string& name); + + void + swap (qname&); + + const std::basic_string& + prefix () const; + + std::basic_string& + prefix (); + + void + prefix (const std::basic_string&); + + const std::basic_string& + name () const; + + std::basic_string& + name (); + + void + name (const std::basic_string&); + + private: + std::basic_string prefix_; + std::basic_string name_; + }; + + template + bool + operator== (const qname&, const qname&); + + template + bool + operator!= (const qname&, const qname&); + + + // Binary buffer. Used for the base64Binary and hexBinary types. + // + class buffer + { + public: + typedef std::size_t size_t; + + class bounds {}; // Out of bounds exception. + + public: + ~buffer (); + + explicit + buffer (size_t size = 0); + buffer (size_t size, size_t capacity); + buffer (const void* data, size_t size); + buffer (const void* data, size_t size, size_t capacity); + + // If the assume_ownership argument is true, the buffer will + // assume the ownership of the data and will release the memory + // by calling operator delete (). + // + buffer (void* data, + size_t size, + size_t capacity, + bool assume_ownership); + + buffer (const buffer&); + + public: + buffer& + operator= (const buffer&); + + public: + size_t + capacity () const; + + // Returns true if the underlying buffer has moved. + // + bool + capacity (size_t); + + public: + size_t + size () const; + + // Returns true if the underlying buffer has moved. + // + bool + size (size_t); + + public: + const char* + data () const; + + char* + data (); + + const char* + begin () const; + + char* + begin (); + + const char* + end () const; + + char* + end (); + + public: + void + swap (buffer&); + + private: + bool + capacity (size_t capacity, bool copy); + + private: + char* data_; + size_t size_; + size_t capacity_; + }; + + bool + operator== (const buffer&, const buffer&); + + bool + operator!= (const buffer&, const buffer&); + + + // Time and date types. + // + + class time_zone + { + public: + time_zone (); + time_zone (short hours, short minutes); + + // Returns true if time zone is specified. + // + bool + zone_present () const; + + // Resets the time zone to the 'not specified' state. + // + void + zone_reset (); + + short + zone_hours () const; + + void + zone_hours (short); + + short + zone_minutes () const; + + void + zone_minutes (short); + + private: + bool present_; + short hours_; + short minutes_; + }; + + bool + operator== (const time_zone&, const time_zone&); + + bool + operator!= (const time_zone&, const time_zone&); + + + class gday: public time_zone + { + public: + explicit + gday (unsigned short day); + gday (unsigned short day, short zone_hours, short zone_minutes); + + unsigned short + day () const; + + void + day (unsigned short); + + private: + unsigned short day_; + }; + + bool + operator== (const gday&, const gday&); + + bool + operator!= (const gday&, const gday&); + + + class gmonth: public time_zone + { + public: + explicit + gmonth (unsigned short month); + gmonth (unsigned short month, short zone_hours, short zone_minutes); + + unsigned short + month () const; + + void + month (unsigned short); + + private: + unsigned short month_; + }; + + bool + operator== (const gmonth&, const gmonth&); + + bool + operator!= (const gmonth&, const gmonth&); + + + class gyear: public time_zone + { + public: + explicit + gyear (int year); + gyear (int year, short zone_hours, short zone_minutes); + + int + year () const; + + void + year (int); + + private: + int year_; + }; + + bool + operator== (const gyear&, const gyear&); + + bool + operator!= (const gyear&, const gyear&); + + + class gmonth_day: public time_zone + { + public: + gmonth_day (unsigned short month, unsigned short day); + gmonth_day (unsigned short month, unsigned short day, + short zone_hours, short zone_minutes); + + unsigned short + month () const; + + void + month (unsigned short); + + unsigned short + day () const; + + void + day (unsigned short); + + private: + unsigned short month_; + unsigned short day_; + }; + + bool + operator== (const gmonth_day&, const gmonth_day&); + + bool + operator!= (const gmonth_day&, const gmonth_day&); + + + class gyear_month: public time_zone + { + public: + gyear_month (int year, unsigned short month); + gyear_month (int year, unsigned short month, + short zone_hours, short zone_minutes); + + int + year () const; + + void + year (int); + + unsigned short + month () const; + + void + month (unsigned short); + + private: + int year_; + unsigned short month_; + }; + + bool + operator== (const gyear_month&, const gyear_month&); + + bool + operator!= (const gyear_month&, const gyear_month&); + + + class date: public time_zone + { + public: + date (int year, unsigned short month, unsigned short day); + date (int year, unsigned short month, unsigned short day, + short zone_hours, short zone_minutes); + + int + year () const; + + void + year (int); + + unsigned short + month () const; + + void + month (unsigned short); + + unsigned short + day () const; + + void + day (unsigned short); + + private: + int year_; + unsigned short month_; + unsigned short day_; + }; + + bool + operator== (const date&, const date&); + + bool + operator!= (const date&, const date&); + + + class time: public time_zone + { + public: + time (unsigned short hours, unsigned short minutes, double seconds); + time (unsigned short hours, unsigned short minutes, double seconds, + short zone_hours, short zone_minutes); + + unsigned short + hours () const; + + void + hours (unsigned short); + + unsigned short + minutes () const; + + void + minutes (unsigned short); + + double + seconds () const; + + void + seconds (double); + + private: + unsigned short hours_; + unsigned short minutes_; + double seconds_; + }; + + bool + operator== (const time&, const time&); + + bool + operator!= (const time&, const time&); + + + class date_time: public time_zone + { + public: + date_time (int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, double seconds); + + date_time (int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, double seconds, + short zone_hours, short zone_minutes); + + int + year () const; + + void + year (int); + + unsigned short + month () const; + + void + month (unsigned short); + + unsigned short + day () const; + + void + day (unsigned short); + + unsigned short + hours () const; + + void + hours (unsigned short); + + unsigned short + minutes () const; + + void + minutes (unsigned short); + + double + seconds () const; + + void + seconds (double); + + private: + int year_; + unsigned short month_; + unsigned short day_; + unsigned short hours_; + unsigned short minutes_; + double seconds_; + }; + + bool + operator== (const date_time&, const date_time&); + + bool + operator!= (const date_time&, const date_time&); + + + class duration + { + public: + duration (bool negative, + unsigned int years, unsigned int months, unsigned int days, + unsigned int hours, unsigned int minutes, double seconds); + + bool + negative () const; + + void + negative (bool); + + unsigned int + years () const; + + void + years (unsigned int); + + unsigned int + months () const; + + void + months (unsigned int); + + unsigned int + days () const; + + void + days (unsigned int); + + unsigned int + hours () const; + + void + hours (unsigned int); + + unsigned int + minutes () const; + + void + minutes (unsigned int); + + double + seconds () const; + + void + seconds (double); + + private: + bool negative_; + unsigned int years_; + unsigned int months_; + unsigned int days_; + unsigned int hours_; + unsigned int minutes_; + double seconds_; + }; + + bool + operator== (const duration&, const duration&); + + bool + operator!= (const duration&, const duration&); + } + } +} + +#include +#include + +#endif // XSD_CXX_PARSER_XML_SCHEMA_HXX diff --git a/xsd-4.0.0/xsd/cxx/parser/xml-schema.ixx b/xsd-4.0.0/xsd/cxx/parser/xml-schema.ixx new file mode 100644 index 0000000..d116420 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/xml-schema.ixx @@ -0,0 +1,1022 @@ +// file : xsd/cxx/parser/xml-schema.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include // operator new/delete +#include // std::memcpy, std::memcmp + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // string_sequence + // + template + string_sequence:: + string_sequence () + { + } + + template + string_sequence:: + string_sequence (size_type n, const value_type& x) + : base (n, x) + { + } + + template + template + string_sequence:: + string_sequence (const I& begin, const I& end) + : base (begin, end) + { + } + + template + inline bool + operator!= (const string_sequence& a, const string_sequence& b) + { + return !(a == b); + } + + // qname + // + template + inline qname:: + qname (const std::basic_string& name) + : name_ (name) + { + } + + template + inline qname:: + qname (const std::basic_string& prefix, + const std::basic_string& name) + : prefix_ (prefix), name_ (name) + { + } + + template + void qname:: + swap (qname& x) + { + prefix_.swap (x.prefix_); + name_.swap (x.name_); + } + + template + inline const std::basic_string& qname:: + prefix () const + { + return prefix_; + } + + template + inline std::basic_string& qname:: + prefix () + { + return prefix_; + } + + template + inline void qname:: + prefix (const std::basic_string& prefix) + { + prefix_ = prefix; + } + + template + inline const std::basic_string& qname:: + name () const + { + return name_; + } + + template + inline std::basic_string& qname:: + name () + { + return name_; + } + + template + inline void qname:: + name (const std::basic_string& name) + { + name_ = name; + } + + template + inline bool + operator== (const qname& a, const qname& b) + { + return a.prefix () == b.prefix () && a.name () == b.name (); + } + + template + inline bool + operator!= (const qname& a, const qname& b) + { + return !(a == b); + } + + // buffer + // + inline buffer:: + ~buffer () + { + if (data_) + operator delete (data_); + } + + inline buffer:: + buffer (size_t size) + : data_ (0), size_ (0), capacity_ (0) + { + capacity (size); + size_ = size; + } + + inline buffer:: + buffer (size_t size, size_t cap) + : data_ (0), size_ (0), capacity_ (0) + { + if (size > cap) + throw bounds (); + + capacity (cap); + size_ = size; + } + + inline buffer:: + buffer (const void* data, size_t size) + : data_ (0), size_ (0), capacity_ (0) + { + capacity (size); + size_ = size; + + if (size_) + std::memcpy (data_, data, size_); + } + + inline buffer:: + buffer (const void* data, size_t size, size_t cap) + : data_ (0), size_ (0), capacity_ (0) + { + if (size > cap) + throw bounds (); + + capacity (cap); + size_ = size; + + if (size_) + std::memcpy (data_, data, size_); + } + + inline buffer:: + buffer (void* data, size_t size, size_t cap, bool own) + : data_ (0), size_ (0), capacity_ (0) + { + if (size > cap) + throw bounds (); + + if (own) + { + data_ = reinterpret_cast (data); + size_ = size; + capacity_ = cap; + } + else + { + capacity (cap); + size_ = size; + + if (size_) + std::memcpy (data_, data, size_); + } + } + + inline buffer:: + buffer (const buffer& other) + : data_ (0), size_ (0), capacity_ (0) + { + capacity (other.capacity_); + size_ = other.size_; + + if (size_) + std::memcpy (data_, other.data_, size_); + } + + inline buffer& buffer:: + operator= (const buffer& other) + { + if (this != &other) + { + capacity (other.capacity_, false); + size_ = other.size_; + + if (size_) + std::memcpy (data_, other.data_, size_); + } + + return *this; + } + + inline size_t buffer:: + capacity () const + { + return capacity_; + } + + inline bool buffer:: + capacity (size_t cap) + { + return capacity (cap, true); + } + + inline size_t buffer:: + size () const + { + return size_; + } + + inline bool buffer:: + size (size_t size) + { + bool r (false); + + if (size > capacity_) + r = capacity (size); + + size_ = size; + + return r; + } + + inline const char* buffer:: + data () const + { + return data_; + } + + inline char* buffer:: + data () + { + return data_; + } + + inline const char* buffer:: + begin () const + { + return data_; + } + + inline char* buffer:: + begin () + { + return data_; + } + + inline const char* buffer:: + end () const + { + return data_ + size_; + } + + inline char* buffer:: + end () + { + return data_ + size_; + } + + inline void buffer:: + swap (buffer& other) + { + char* tmp_data (data_); + size_t tmp_size (size_); + size_t tmp_capacity (capacity_); + + data_ = other.data_; + size_ = other.size_; + capacity_ = other.capacity_; + + other.data_ = tmp_data; + other.size_ = tmp_size; + other.capacity_ = tmp_capacity; + } + + inline bool buffer:: + capacity (size_t capacity, bool copy) + { + if (size_ > capacity) + throw bounds (); + + if (capacity <= capacity_) + { + return false; // Do nothing if shrinking is requested. + } + else + { + char* data (reinterpret_cast (operator new (capacity))); + + if (copy && size_ > 0) + std::memcpy (data, data_, size_); + + if (data_) + operator delete (data_); + + data_ = data; + capacity_ = capacity; + + return true; + } + } + + inline bool + operator== (const buffer& a, const buffer& b) + { + return a.size () == b.size () && + std::memcmp (a.data (), b.data (), a.size ()) == 0; + } + + inline bool + operator!= (const buffer& a, const buffer& b) + { + return !(a == b); + } + + // time_zone + // + inline time_zone:: + time_zone () + : present_ (false) + { + } + + inline time_zone:: + time_zone (short h, short m) + : present_ (true), hours_ (h), minutes_ (m) + { + } + + inline bool time_zone:: + zone_present () const + { + return present_; + } + + inline void time_zone:: + zone_reset () + { + present_ = false; + } + + inline short time_zone:: + zone_hours () const + { + return hours_; + } + + inline void time_zone:: + zone_hours (short h) + { + hours_ = h; + present_ = true; + } + + inline short time_zone:: + zone_minutes () const + { + return minutes_; + } + + inline void time_zone:: + zone_minutes (short m) + { + minutes_ = m; + present_ = true; + } + + inline bool + operator== (const time_zone& x, const time_zone& y) + { + return x.zone_present () + ? y.zone_present () && + x.zone_hours () == y.zone_hours () && + x.zone_minutes () == y.zone_minutes () + : !y.zone_present (); + } + + inline bool + operator!= (const time_zone& x, const time_zone& y) + { + return !(x == y); + } + + // gday + // + inline gday:: + gday (unsigned short day) + : day_ (day) + { + } + + inline gday:: + gday (unsigned short day, short zh, short zm) + : time_zone (zh, zm), day_ (day) + { + } + + inline unsigned short gday:: + day () const + { + return day_; + } + + inline void gday:: + day (unsigned short day) + { + day_ = day; + } + + inline bool + operator== (const gday& a, const gday& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.day () == b.day () && az == bz; + } + + inline bool + operator!= (const gday& a, const gday& b) + { + return !(a == b); + } + + // gmonth + // + inline gmonth:: + gmonth (unsigned short month) + : month_ (month) + { + } + + inline gmonth:: + gmonth (unsigned short month, short zh, short zm) + : time_zone (zh, zm), month_ (month) + { + } + + inline unsigned short gmonth:: + month () const + { + return month_; + } + + inline void gmonth:: + month (unsigned short month) + { + month_ = month; + } + + inline bool + operator== (const gmonth& a, const gmonth& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.month () == b.month () && az == bz; + } + + inline bool + operator!= (const gmonth& a, const gmonth& b) + { + return !(a == b); + } + + // gyear + // + inline gyear:: + gyear (int year) + : year_ (year) + { + } + + inline gyear:: + gyear (int year, short zh, short zm) + : time_zone (zh, zm), year_ (year) + { + } + + inline int gyear:: + year () const + { + return year_; + } + + inline void gyear:: + year (int year) + { + year_ = year; + } + + inline bool + operator== (const gyear& a, const gyear& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.year () == b.year () && az == bz; + } + + inline bool + operator!= (const gyear& a, const gyear& b) + { + return !(a == b); + } + + // gmonth_day + // + inline gmonth_day:: + gmonth_day (unsigned short month, unsigned short day) + : month_ (month), day_ (day) + { + } + + inline gmonth_day:: + gmonth_day (unsigned short month, + unsigned short day, + short zh, short zm) + : time_zone (zh, zm), month_ (month), day_ (day) + { + } + + inline unsigned short gmonth_day:: + month () const + { + return month_; + } + + inline void gmonth_day:: + month (unsigned short month) + { + month_ = month; + } + + inline unsigned short gmonth_day:: + day () const + { + return day_; + } + + inline void gmonth_day:: + day (unsigned short day) + { + day_ = day; + } + + inline bool + operator== (const gmonth_day& a, const gmonth_day& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.month () == b.month () && + a.day () == b.day () && + az == bz; + } + + inline bool + operator!= (const gmonth_day& a, const gmonth_day& b) + { + return !(a == b); + } + + // gyear_month + // + inline gyear_month:: + gyear_month (int year, unsigned short month) + : year_ (year), month_ (month) + { + } + + inline gyear_month:: + gyear_month (int year, unsigned short month, + short zh, short zm) + : time_zone (zh, zm), year_ (year), month_ (month) + { + } + + inline int gyear_month:: + year () const + { + return year_; + } + + inline void gyear_month:: + year (int year) + { + year_ = year; + } + + inline unsigned short gyear_month:: + month () const + { + return month_; + } + + inline void gyear_month:: + month (unsigned short month) + { + month_ = month; + } + + inline bool + operator== (const gyear_month& a, const gyear_month& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.year () == b.year () && + a.month () == b.month () && + az == bz; + } + + inline bool + operator!= (const gyear_month& a, const gyear_month& b) + { + return !(a == b); + } + + // date + // + inline date:: + date (int year, unsigned short month, unsigned short day) + : year_ (year), month_ (month), day_ (day) + { + } + + inline date:: + date (int year, unsigned short month, unsigned short day, + short zh, short zm) + : time_zone (zh, zm), year_ (year), month_ (month), day_ (day) + { + } + + inline int date:: + year () const + { + return year_; + } + + inline void date:: + year (int year) + { + year_ = year; + } + + inline unsigned short date:: + month () const + { + return month_; + } + + inline void date:: + month (unsigned short month) + { + month_ = month; + } + + inline unsigned short date:: + day () const + { + return day_; + } + + inline void date:: + day (unsigned short day) + { + day_ = day; + } + + inline bool + operator== (const date& a, const date& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.year () == b.year () && + a.month () == b.month () && + a.day () == b.day () && + az == bz; + } + + inline bool + operator!= (const date& a, const date& b) + { + return !(a == b); + } + + // time + // + inline time:: + time (unsigned short hours, unsigned short minutes, double seconds) + : hours_ (hours), minutes_ (minutes), seconds_ (seconds) + { + } + + inline time:: + time (unsigned short hours, unsigned short minutes, double seconds, + short zh, short zm) + : time_zone (zh, zm), + hours_ (hours), minutes_ (minutes), seconds_ (seconds) + { + } + + inline unsigned short time:: + hours () const + { + return hours_; + } + + inline void time:: + hours (unsigned short hours) + { + hours_ = hours; + } + + inline unsigned short time:: + minutes () const + { + return minutes_; + } + + inline void time:: + minutes (unsigned short minutes) + { + minutes_ = minutes; + } + + inline double time:: + seconds () const + { + return seconds_; + } + + inline void time:: + seconds (double seconds) + { + seconds_ = seconds; + } + + inline bool + operator== (const time& a, const time& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.hours () == b.hours () && + a.minutes () == b.minutes () && + a.seconds () == b.seconds () && + az == bz; + } + + inline bool + operator!= (const time& a, const time& b) + { + return !(a == b); + } + + // date_time + // + inline date_time:: + date_time (int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, double seconds) + : year_ (year), month_ (month), day_ (day), + hours_ (hours), minutes_ (minutes), seconds_ (seconds) + { + } + + inline date_time:: + date_time (int year, unsigned short month, unsigned short day, + unsigned short hours, unsigned short minutes, double seconds, + short zh, short zm) + : time_zone (zh, zm), + year_ (year), month_ (month), day_ (day), + hours_ (hours), minutes_ (minutes), seconds_ (seconds) + { + } + + inline int date_time:: + year () const + { + return year_; + } + + inline void date_time:: + year (int year) + { + year_ = year; + } + + inline unsigned short date_time:: + month () const + { + return month_; + } + + inline void date_time:: + month (unsigned short month) + { + month_ = month; + } + + inline unsigned short date_time:: + day () const + { + return day_; + } + + inline void date_time:: + day (unsigned short day) + { + day_ = day; + } + + inline unsigned short date_time:: + hours () const + { + return hours_; + } + + inline void date_time:: + hours (unsigned short hours) + { + hours_ = hours; + } + + inline unsigned short date_time:: + minutes () const + { + return minutes_; + } + + inline void date_time:: + minutes (unsigned short minutes) + { + minutes_ = minutes; + } + + inline double date_time:: + seconds () const + { + return seconds_; + } + + inline void date_time:: + seconds (double seconds) + { + seconds_ = seconds; + } + + inline bool + operator== (const date_time& a, const date_time& b) + { + const time_zone& az = a; + const time_zone& bz = b; + + return a.year () == b.year () && + a.month () == b.month () && + a.day () == b.day () && + a.hours () == b.hours () && + a.minutes () == b.minutes () && + a.seconds () == b.seconds () && + az == bz; + } + + inline bool + operator!= (const date_time& a, const date_time& b) + { + return !(a == b); + } + + // duration + // + inline duration:: + duration (bool negative, + unsigned int years, unsigned int months, unsigned int days, + unsigned int hours, unsigned int minutes, double seconds) + : negative_ (negative), + years_ (years), months_ (months), days_ (days), + hours_ (hours), minutes_ (minutes), seconds_ (seconds) + { + } + + inline bool duration:: + negative () const + { + return negative_; + } + + inline void duration:: + negative (bool negative) + { + negative_ = negative; + } + + inline unsigned int duration:: + years () const + { + return years_; + } + + inline void duration:: + years (unsigned int years) + { + years_ = years; + } + + inline unsigned int duration:: + months () const + { + return months_; + } + + inline void duration:: + months (unsigned int months) + { + months_ = months; + } + + inline unsigned int duration:: + days () const + { + return days_; + } + + inline void duration:: + days (unsigned int days) + { + days_ = days; + } + + inline unsigned int duration:: + hours () const + { + return hours_; + } + + inline void duration:: + hours (unsigned int hours) + { + hours_ = hours; + } + + inline unsigned int duration:: + minutes () const + { + return minutes_; + } + + inline void duration:: + minutes (unsigned int minutes) + { + minutes_ = minutes; + } + + inline double duration:: + seconds () const + { + return seconds_; + } + + inline void duration:: + seconds (double seconds) + { + seconds_ = seconds; + } + + inline bool + operator== (const duration& a, const duration& b) + { + return a.negative () == b.negative () && + a.years () == b.years () && + a.months () == b.months () && + a.days () == b.days () && + a.hours () == b.hours () && + a.minutes () == b.minutes () && + a.seconds () == b.seconds (); + } + + inline bool + operator!= (const duration& a, const duration& b) + { + return !(a == b); + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/parser/xml-schema.txx b/xsd-4.0.0/xsd/cxx/parser/xml-schema.txx new file mode 100644 index 0000000..881b20f --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/parser/xml-schema.txx @@ -0,0 +1,34 @@ +// file : xsd/cxx/parser/xml-schema.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace parser + { + // string_sequence + // + template + bool + operator== (const string_sequence& a, const string_sequence& b) + { + if (a.size () != b.size ()) + return false; + + for (typename string_sequence::const_iterator + ai (a.begin ()), bi (b.begin ()), ae (a.end ()); + ai != ae; ++ai, ++bi) + { + if (*ai != *bi) + return false; + } + + return true; + } + } + } +} + diff --git a/xsd-4.0.0/xsd/cxx/post.hxx b/xsd-4.0.0/xsd/cxx/post.hxx new file mode 100644 index 0000000..416cf3e --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/post.hxx @@ -0,0 +1,10 @@ +// file : xsd/cxx/post.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifdef _MSC_VER +# if (_MSC_VER >= 1400) +# include +# endif +#endif diff --git a/xsd-4.0.0/xsd/cxx/pre.hxx b/xsd-4.0.0/xsd/cxx/pre.hxx new file mode 100644 index 0000000..c159627 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/pre.hxx @@ -0,0 +1,12 @@ +// file : xsd/cxx/pre.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifdef _MSC_VER +# if (_MSC_VER >= 1400) +# include +# else +# error Microsoft Visual C++ 7.1 and earlier are not supported +# endif +#endif diff --git a/xsd-4.0.0/xsd/cxx/ro-string.hxx b/xsd-4.0.0/xsd/cxx/ro-string.hxx new file mode 100644 index 0000000..3bb00c0 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/ro-string.hxx @@ -0,0 +1,430 @@ +// file : xsd/cxx/ro-string.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_RO_STRING_HXX +#define XSD_CXX_RO_STRING_HXX + +#include +#include // std::size_t +#include + +namespace xsd +{ + namespace cxx + { + // Read-only string class template. + // + template + class ro_string + { + public: + typedef std::char_traits traits_type; + typedef std::size_t size_type; + + static const size_type npos = ~(size_type (0)); + + public: + ro_string () + : data_ (0), size_ (0) + { + } + + ro_string (const C* s) + : data_ (s), size_ (traits_type::length (s)) + { + } + + ro_string (const C* s, size_type size) + : data_ (s), size_ (size) + { + } + + ro_string (const std::basic_string& s) + : data_ (s.data ()), size_ (s.size ()) + { + } + + operator std::basic_string () const + { + return std::basic_string (data (), size ()); + } + + private: + ro_string (const ro_string&); + + ro_string& + operator= (const ro_string&); + + public: + // The returned string is not necessarily terminated with '\0'. + // If size() returns 0, the returned pointer may be 0. + // + const C* + data () const + { + return data_; + } + + size_type + size () const + { + return size_; + } + + size_type + length () const + { + return size (); + } + + public: + bool + empty () const + { + return size () == 0; + } + + const C& + operator[] (size_type pos) const + { + return data ()[pos]; + } + + public: + void + assign (const C* s) + { + data_ = s; + size_ = traits_type::length (s); + } + + void + assign (const C* s, size_type size) + { + data_ = s; + size_ = size; + } + + void + assign (const std::basic_string& s) + { + data_ = s.c_str (); + size_ = s.size (); + } + + public: + int + compare (const ro_string& str) const + { + return compare (str.data (), str.size ()); + } + + int + compare (const std::basic_string& str) const + { + return compare (str.c_str (), str.size ()); + } + + int + compare (const C* str) const + { + return compare (str, traits_type::length (str)); + } + + int + compare (const C* str, size_type n) const + { + size_type s1 (size ()); + size_type s (s1 < n ? s1 : n); + + int r (s != 0 ? traits_type::compare (data (), str, s) : 0); + + if (!r && s1 != n) + r = s1 < n ? -1 : 1; + + return r; + } + + public: + size_type + find (C c, size_type pos = 0) const; + + private: + const C* data_; + size_type size_; + }; + + // operator== + // + template + inline bool + operator== (const ro_string& a, const ro_string& b) + { + return a.compare (b) == 0; + } + + template + inline bool + operator== (const ro_string& a, const std::basic_string& b) + { + return a.compare (b) == 0; + } + + template + inline bool + operator== (const std::basic_string& a, const ro_string& b) + { + return b.compare (a) == 0; + } + + template + inline bool + operator== (const ro_string& a, const C* b) + { + return a.compare (b) == 0; + } + + template + inline bool + operator== (const C* a, const ro_string& b) + { + return b.compare (a) == 0; + } + + // operator!= + // + template + inline bool + operator!= (const ro_string& a, const ro_string& b) + { + return a.compare (b) != 0; + } + + template + inline bool + operator!= (const ro_string& a, const std::basic_string& b) + { + return a.compare (b) != 0; + } + + template + inline bool + operator!= (const std::basic_string& a, const ro_string& b) + { + return b.compare (a) != 0; + } + + template + inline bool + operator!= (const ro_string& a, const C* b) + { + return a.compare (b) != 0; + } + + template + inline bool + operator!= (const C* a, const ro_string& b) + { + return b.compare (a) != 0; + } + + // operator< + // + template + inline bool + operator< (const ro_string& l, const ro_string& r) + { + return l.compare (r) < 0; + } + + template + inline bool + operator< (const ro_string& l, const std::basic_string& r) + { + return l.compare (r) < 0; + } + + template + inline bool + operator< (const std::basic_string& l, const ro_string& r) + { + return r.compare (l) > 0; + } + + template + inline bool + operator< (const ro_string& l, const C* r) + { + return l.compare (r) < 0; + } + + template + inline bool + operator< (const C* l, const ro_string& r) + { + return r.compare (l) > 0; + } + + + // operator> + // + template + inline bool + operator> (const ro_string& l, const ro_string& r) + { + return l.compare (r) > 0; + } + + template + inline bool + operator> (const ro_string& l, const std::basic_string& r) + { + return l.compare (r) > 0; + } + + template + inline bool + operator> (const std::basic_string& l, const ro_string& r) + { + return r.compare (l) < 0; + } + + template + inline bool + operator> (const ro_string& l, const C* r) + { + return l.compare (r) > 0; + } + + template + inline bool + operator> (const C* l, const ro_string& r) + { + return r.compare (l) < 0; + } + + // operator<= + // + template + inline bool + operator<= (const ro_string& l, const ro_string& r) + { + return l.compare (r) <= 0; + } + + template + inline bool + operator<= (const ro_string& l, const std::basic_string& r) + { + return l.compare (r) <= 0; + } + + template + inline bool + operator<= (const std::basic_string& l, const ro_string& r) + { + return r.compare (l) >= 0; + } + + template + inline bool + operator<= (const ro_string& l, const C* r) + { + return l.compare (r) <= 0; + } + + template + inline bool + operator<= (const C* l, const ro_string& r) + { + return r.compare (l) >= 0; + } + + + // operator>= + // + template + inline bool + operator>= (const ro_string& l, const ro_string& r) + { + return l.compare (r) >= 0; + } + + template + inline bool + operator>= (const ro_string& l, const std::basic_string& r) + { + return l.compare (r) >= 0; + } + + template + inline bool + operator>= (const std::basic_string& l, const ro_string& r) + { + return r.compare (l) <= 0; + } + + template + inline bool + operator>= (const ro_string& l, const C* r) + { + return l.compare (r) >= 0; + } + + template + inline bool + operator>= (const C* l, const ro_string& r) + { + return r.compare (l) <= 0; + } + + // operator<< + // + template + std::basic_ostream& + operator<< (std::basic_ostream& os, const ro_string& str) + { + if (str.size () != 0) + os.write (str.data (), static_cast (str.size ())); + + return os; + } + + // operator+= + // + template + std::basic_string& + operator+= (std::basic_string& l, const ro_string& r) + { + l.append (r.data (), r.size ()); + return l; + } + + // Trim leading and trailing XML whitespaces. Return the new + // string size. + // + template + typename ro_string::size_type + trim_left (ro_string&); + + template + typename ro_string::size_type + trim_right (ro_string&); + + template + typename ro_string::size_type + trim (ro_string&); + + // Trim leading and trailing XML whitespaces. + // + template + std::basic_string + trim (const std::basic_string&); + } +} + +#include + +#endif // XSD_CXX_RO_STRING_HXX diff --git a/xsd-4.0.0/xsd/cxx/ro-string.txx b/xsd-4.0.0/xsd/cxx/ro-string.txx new file mode 100644 index 0000000..f020a78 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/ro-string.txx @@ -0,0 +1,133 @@ +// file : xsd/cxx/ro-string.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + template + typename ro_string::size_type ro_string:: + find (C c, size_type pos) const + { + size_type r (npos); + + if (pos < size_) + { + if (const C* p = traits_type::find(data_ + pos, size_ - pos, c)) + r = p - data_; + } + + return r; + } + + template + typename ro_string::size_type + trim_left (ro_string& s) + { + typename ro_string::size_type size (s.size ()); + + if (size != 0) + { + const C* f (s.data ()); + const C* l (f + size); + const C* of (f); + + while (f < l && + (*f == C (0x20) || *f == C (0x0A) || + *f == C (0x0D) || *f == C (0x09))) + ++f; + + if (f != of) + { + size = f <= l ? l - f : 0; + s.assign ((f <= l ? f : 0), size); + } + } + + return size; + } + + template + typename ro_string::size_type + trim_right (ro_string& s) + { + typename ro_string::size_type size (s.size ()); + + if (size != 0) + { + const C* f (s.data ()); + const C* l (f + size - 1); + const C* ol (l); + + while (l > f && + (*l == C (0x20) || *l == C (0x0A) || + *l == C (0x0D) || *l == C (0x09))) + --l; + + if (l != ol) + { + size = f <= l ? l - f + 1 : 0; + s.assign ((f <= l ? f : 0), size); + } + } + + return size; + } + + template + typename ro_string::size_type + trim (ro_string& s) + { + typename ro_string::size_type size (s.size ()); + + if (size != 0) + { + const C* f (s.data ()); + const C* l (f + size); + + const C* of (f); + + while (f < l && + (*f == C (0x20) || *f == C (0x0A) || + *f == C (0x0D) || *f == C (0x09))) + ++f; + + --l; + + const C* ol (l); + + while (l > f && + (*l == C (0x20) || *l == C (0x0A) || + *l == C (0x0D) || *l == C (0x09))) + --l; + + if (f != of || l != ol) + { + size = f <= l ? l - f + 1 : 0; + s.assign ((f <= l ? f : 0), size); + } + } + + return size; + } + + template + std::basic_string + trim (const std::basic_string& s) + { + ro_string tmp (s); + typename ro_string::size_type size (tmp.size ()); + trim (tmp); + + // If we didn't change the string then return the original to help + // avoid copying for smart (ref counted) string implementations. + // + if (size == tmp.size ()) + return s; + else + return tmp; + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-common.hxx b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-common.hxx new file mode 100644 index 0000000..c2536c3 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-common.hxx @@ -0,0 +1,26 @@ +// file : xsd/cxx/tree/ace-cdr-stream-common.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX +#define XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX + +#include + +namespace xsd +{ + namespace cxx + { + namespace tree + { + // Base exception for ACE CDR insertion/extraction exceptions. + // + struct ace_cdr_stream_operation: xsd::cxx::exception + { + }; + } + } +} + +#endif // XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX diff --git a/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-extraction.hxx b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-extraction.hxx new file mode 100644 index 0000000..03e2409 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-extraction.hxx @@ -0,0 +1,348 @@ +// file : xsd/cxx/tree/ace-cdr-stream-extraction.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX +#define XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX + +#include // std::size_t +#include + +#include // ACE::strdelete +#include + +#include // XSD_CXX11 + +#ifdef XSD_CXX11 +# include // std::unique_ptr +#else +# include +#endif + +#include +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace tree + { + struct ace_cdr_stream_extraction: ace_cdr_stream_operation + { + virtual const char* + what () const throw () + { + return "ACE CDR stream extraction operation failed"; + } + }; + + + // as_size + // + +#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE + template + inline istream& + operator>> (istream& s, + istream::as_size& x) + { + ACE_CDR::ULongLong r; + + if (!s.impl ().read_ulonglong (r) || + r > ~(T (0))) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } +#else + template + inline istream& + operator>> (istream& s, + istream::as_size& x) + { + ACE_CDR::ULong r; + + if (!s.impl ().read_ulong (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } +#endif + + + // 8-bit + // + template + inline istream& + operator>> (istream& s, + istream::as_int8& x) + { + ACE_CDR::Octet r; + + if (!s.impl ().read_octet (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + template + inline istream& + operator>> (istream& s, + istream::as_uint8& x) + { + ACE_CDR::Octet r; + + if (!s.impl ().read_octet (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + + // 16-bit + // + template + inline istream& + operator>> (istream& s, + istream::as_int16& x) + { + ACE_CDR::Short r; + + if (!s.impl ().read_short (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + template + inline istream& + operator>> (istream& s, + istream::as_uint16& x) + { + ACE_CDR::UShort r; + + if (!s.impl ().read_ushort (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + + // 32-bit + // + template + inline istream& + operator>> (istream& s, + istream::as_int32& x) + { + ACE_CDR::Long r; + + if (!s.impl ().read_long (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + template + inline istream& + operator>> (istream& s, + istream::as_uint32& x) + { + ACE_CDR::ULong r; + + if (!s.impl ().read_ulong (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + + // 64-bit + // + template + inline istream& + operator>> (istream& s, + istream::as_int64& x) + { + ACE_CDR::LongLong r; + + if (!s.impl ().read_longlong (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + template + inline istream& + operator>> (istream& s, + istream::as_uint64& x) + { + ACE_CDR::ULongLong r; + + if (!s.impl ().read_ulonglong (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + + // Boolean + // + template + inline istream& + operator>> (istream& s, + istream::as_bool& x) + { + ACE_CDR::Boolean r; + + if (!s.impl ().read_boolean (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + + // Floating-point + // + template + inline istream& + operator>> (istream& s, + istream::as_float32& x) + { + ACE_CDR::Float r; + + if (!s.impl ().read_float (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + template + inline istream& + operator>> (istream& s, + istream::as_float64& x) + { + ACE_CDR::Double r; + + if (!s.impl ().read_double (r)) + throw ace_cdr_stream_extraction (); + + x.x_ = static_cast (r); + + return s; + } + + // Extraction of std::basic_string. + // + + namespace bits + { + template + struct ace_str_deleter + { + void + operator() (C* s) const + { + ACE::strdelete (s); + } + }; + } + + inline istream& + operator>> (istream& s, std::basic_string& x) + { + typedef bits::ace_str_deleter deleter; + + deleter d; + char* r; + + if (!s.impl ().read_string (r)) + throw ace_cdr_stream_extraction (); + +#ifdef XSD_CXX11 + std::unique_ptr ar ( +#else + auto_array ar ( +#endif + r, d); + + x = r; + return s; + } + +#ifdef ACE_HAS_WCHAR + inline istream& + operator>> (istream& s, std::basic_string& x) + { + typedef bits::ace_str_deleter deleter; + + deleter d; + wchar_t* r; + + if (!s.impl ().read_wstring (r)) + throw ace_cdr_stream_extraction (); + +#ifdef XSD_CXX11 + std::unique_ptr ar ( +#else + auto_array ar ( +#endif + r, d); + + x = r; + return s; + } +#endif + + + // Extraction of a binary buffer. + // + template + istream& + operator>> (istream& s, buffer& x) + { + ACE_CDR::ULong size; + + if (!s.impl ().read_ulong (size)) + throw ace_cdr_stream_extraction (); + + x.size (size); + + if (!s.impl ().read_octet_array ( + reinterpret_cast (x.data ()), size)) + throw ace_cdr_stream_extraction (); + + return s; + } + } + } +} + +#endif // XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX diff --git a/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-insertion.hxx b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-insertion.hxx new file mode 100644 index 0000000..1893741 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/ace-cdr-stream-insertion.hxx @@ -0,0 +1,249 @@ +// file : xsd/cxx/tree/ace-cdr-stream-insertion.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX +#define XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX + +#include // std::size_t +#include + +#include + +#include +#include +#include + +namespace xsd +{ + namespace cxx + { + namespace tree + { + struct ace_cdr_stream_insertion: ace_cdr_stream_operation + { + virtual const char* + what () const throw () + { + return "ACE CDR stream insertion operation failed"; + } + }; + + + // as_size + // + +#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE + template + inline ostream& + operator<< (ostream& s, + ostream::as_size x) + { + if (!s.impl ().write_ulonglong ( + static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } +#else + template + inline ostream& + operator<< (ostream& s, + ostream::as_size x) + { + if (x.x_ > ~(ACE_CDR::ULong (0)) || + !s.impl ().write_ulong (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + + return s; + } +#endif + + + // 8-bit + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_int8 x) + { + ACE_CDR::Octet r (static_cast (x.x_)); + + if (!s.impl ().write_octet (r)) + throw ace_cdr_stream_insertion (); + + return s; + } + + template + inline ostream& + operator<< (ostream& s, + ostream::as_uint8 x) + { + ACE_CDR::Octet r (static_cast (x.x_)); + + if (!s.impl ().write_octet (r)) + throw ace_cdr_stream_insertion (); + + return s; + } + + + // 16-bit + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_int16 x) + { + if (!s.impl ().write_short (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + template + inline ostream& + operator<< (ostream& s, + ostream::as_uint16 x) + { + if (!s.impl ().write_ushort (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + + // 32-bit + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_int32 x) + { + if (!s.impl ().write_long (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + template + inline ostream& + operator<< (ostream& s, + ostream::as_uint32 x) + { + if (!s.impl ().write_ulong (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + + // 64-bit + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_int64 x) + { + if (!s.impl ().write_longlong (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + template + inline ostream& + operator<< (ostream& s, + ostream::as_uint64 x) + { + if (!s.impl ().write_ulonglong ( + static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + + // Boolean + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_bool x) + { + if (!s.impl ().write_boolean (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + + // Floating-point + // + template + inline ostream& + operator<< (ostream& s, + ostream::as_float32 x) + { + if (!s.impl ().write_float (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + template + inline ostream& + operator<< (ostream& s, + ostream::as_float64 x) + { + if (!s.impl ().write_double (static_cast (x.x_))) + throw ace_cdr_stream_insertion (); + return s; + } + + // Insertion of std::basic_string. + // + + inline ostream& + operator<< (ostream& s, const std::basic_string& x) + { + // ACE CDR strings are hard-wired with a 32 bit length. + // + if (x.length () > ~(ACE_CDR::ULong (0)) || + !s.impl ().write_string ( + static_cast (x.length ()), x.c_str ())) + throw ace_cdr_stream_insertion (); + return s; + } + +#ifdef ACE_HAS_WCHAR + inline ostream& + operator<< (ostream& s, + const std::basic_string& x) + { + // ACE CDR strings are hard-wired with a 32 bit length. + // + if (x.length () > ~(ACE_CDR::ULong (0)) || + !s.impl ().write_wstring ( + static_cast (x.length ()), x.c_str ())) + throw ace_cdr_stream_insertion (); + return s; + } +#endif + + // Insertion of a binary buffer. + // + template + ostream& + operator<< (ostream& s, const buffer& x) + { + std::size_t size (x.size ()); + + // It is not possible to write an array with a 64-bit size. + // + if (size > ~(ACE_CDR::ULong (0)) || + !s.impl ().write_ulong (static_cast (size)) || + !s.impl ().write_octet_array ( + reinterpret_cast (x.data ()), size)) + throw ace_cdr_stream_insertion (); + + return s; + } + } + } +} + +#endif // XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX diff --git a/xsd-4.0.0/xsd/cxx/tree/bits/literals.hxx b/xsd-4.0.0/xsd/cxx/tree/bits/literals.hxx new file mode 100644 index 0000000..3053e36 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/bits/literals.hxx @@ -0,0 +1,261 @@ +// file : xsd/cxx/tree/bits/literals.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_BITS_LITERALS_HXX +#define XSD_CXX_TREE_BITS_LITERALS_HXX + +namespace xsd +{ + namespace cxx + { + namespace tree + { + namespace bits + { + // Boolean literals + // + template + const C* + true_ (); + + template + const C* + one (); + + // Float literals: INF -INF NaN. + // + template + const C* + positive_inf (); + + template + const C* + negative_inf (); + + template + const C* + nan (); + + // Optional "not present" literal. + // + template + const C* + not_present (); + + // XML Schema namespace + // + template + const C* + xml_schema (); + + // Built-in XML Schema type names. + // + template + const C* + any_type (); + + template + const C* + any_simple_type (); + + template + const C* + string (); + + template + const C* + normalized_string (); + + template + const C* + token (); + + template + const C* + name (); + + template + const C* + nmtoken (); + + template + const C* + nmtokens (); + + template + const C* + ncname (); + + template + const C* + language (); + + template + const C* + id (); + + template + const C* + idref (); + + template + const C* + idrefs (); + + template + const C* + any_uri (); + + template + const C* + qname (); + + template + const C* + base64_binary (); + + template + const C* + hex_binary (); + + template + const C* + date (); + + template + const C* + date_time (); + + template + const C* + duration (); + + template + const C* + gday (); + + template + const C* + gmonth (); + + template + const C* + gmonth_day (); + + template + const C* + gyear (); + + template + const C* + gyear_month (); + + template + const C* + time (); + + template + const C* + entity (); + + template + const C* + entities (); + + // gday ("---") and gmonth ("--") prefixes. + // + template + const C* + gday_prefix (); + + template + const C* + gmonth_prefix (); + + // Exception and diagnostics string literals. + // + template + const C* + ex_error_error (); // " error: " + + template + const C* + ex_error_warning (); // " warning: " + + template + const C* + ex_parsing_msg (); // "instance document parsing failed" + + template + const C* + ex_eel_expected (); // "expected element '" + + template + const C* + ex_uel_expected (); // "expected element '" + + template + const C* + ex_uel_instead (); // "' instead of '" + + template + const C* + ex_uel_unexpected (); // "unexpected element '" + + template + const C* + ex_eat_expected (); // "expected attribute '" + + template + const C* + ex_uen_unexpected (); // "unexpected enumerator '" + + template + const C* + ex_etc_msg (); // "expected text content" + + template + const C* + ex_nti_no_type_info (); // "no type information available for type '" + + template + const C* + ex_nei_no_element_info (); // "no parsing or serialization information + // available for element '" + template + const C* + ex_nd_type (); // "type '" + + template + const C* + ex_nd_not_derived (); // "' is not derived from '" + + template + const C* + ex_di_id (); // "ID '" + + template + const C* + ex_di_already_exist (); // "' already exist" + + template + const C* + ex_serialization_msg (); // "serialization failed" + + template + const C* + ex_npm_no_mapping (); // "no mapping provided for namespace prefix '" + + template + const C* + ex_bounds_msg (); // "buffer boundary rules have been violated" + } + } + } +} + +#endif // XSD_CXX_TREE_BITS_LITERALS_HXX + +#include diff --git a/xsd-4.0.0/xsd/cxx/tree/bits/literals.ixx b/xsd-4.0.0/xsd/cxx/tree/bits/literals.ixx new file mode 100644 index 0000000..695ad81 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/bits/literals.ixx @@ -0,0 +1,876 @@ +// file : xsd/cxx/tree/bits/literals.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX +#define XSD_CXX_TREE_BITS_LITERALS_IXX + +// The char versions of the following literals are required even +// if we are using wchar_t as the character type. +// +namespace xsd +{ + namespace cxx + { + namespace tree + { + namespace bits + { + // + // + template<> + inline const char* + positive_inf () + { + return "INF"; + } + + template<> + inline const char* + negative_inf () + { + return "-INF"; + } + + template<> + inline const char* + nan () + { + return "NaN"; + } + } + } + } +} + +#endif // XSD_CXX_TREE_BITS_LITERALS_IXX + + +#if defined(XSD_CXX_TREE_USE_CHAR) || !defined(XSD_CXX_TREE_USE_WCHAR) + +#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR +#define XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR + +namespace xsd +{ + namespace cxx + { + namespace tree + { + namespace bits + { + // + // + template<> + inline const char* + true_ () + { + return "true"; + } + + template<> + inline const char* + one () + { + return "1"; + } + + // + // + template<> + inline const char* + not_present () + { + return ""; + } + + // + // + template <> + inline const char* + xml_schema () + { + return "http://www.w3.org/2001/XMLSchema"; + } + + // + // + template <> + inline const char* + any_type () + { + return "anyType"; + } + + template <> + inline const char* + any_simple_type () + { + return "anySimpleType"; + } + + template <> + inline const char* + string () + { + return "string"; + } + + template <> + inline const char* + normalized_string () + { + return "normalizedString"; + } + + template <> + inline const char* + token () + { + return "token"; + } + + template <> + inline const char* + name () + { + return "Name"; + } + + template <> + inline const char* + nmtoken () + { + return "NMTOKEN"; + } + + template <> + inline const char* + nmtokens () + { + return "NMTOKENS"; + } + + template <> + inline const char* + ncname () + { + return "NCName"; + } + + template <> + inline const char* + language () + { + return "language"; + } + + + template <> + inline const char* + id () + { + return "ID"; + } + + template <> + inline const char* + idref () + { + return "IDREF"; + } + + template <> + inline const char* + idrefs () + { + return "IDREFS"; + } + + template <> + inline const char* + any_uri () + { + return "anyURI"; + } + + template <> + inline const char* + qname () + { + return "QName"; + } + + template <> + inline const char* + base64_binary () + { + return "base64Binary"; + } + + template <> + inline const char* + hex_binary () + { + return "hexBinary"; + } + + template <> + inline const char* + date () + { + return "date"; + } + + template <> + inline const char* + date_time () + { + return "dateTime"; + } + + template <> + inline const char* + duration () + { + return "duration"; + } + + template <> + inline const char* + gday () + { + return "gDay"; + } + + template <> + inline const char* + gmonth () + { + return "gMonth"; + } + + template <> + inline const char* + gmonth_day () + { + return "gMonthDay"; + } + + template <> + inline const char* + gyear () + { + return "gYear"; + } + + template <> + inline const char* + gyear_month () + { + return "gYearMonth"; + } + + template <> + inline const char* + time () + { + return "time"; + } + + template <> + inline const char* + entity () + { + return "ENTITY"; + } + + template <> + inline const char* + entities () + { + return "ENTITIES"; + } + + template <> + inline const char* + gday_prefix () + { + return "---"; + } + + template <> + inline const char* + gmonth_prefix () + { + return "--"; + } + + // + // + template <> + inline const char* + ex_error_error () + { + return " error: "; + } + + template <> + inline const char* + ex_error_warning () + { + return " warning: "; + } + + template <> + inline const char* + ex_parsing_msg () + { + return "instance document parsing failed"; + } + + template <> + inline const char* + ex_eel_expected () + { + return "expected element '"; + } + + template <> + inline const char* + ex_uel_expected () + { + return "expected element '"; + } + + template <> + inline const char* + ex_uel_instead () + { + return "' instead of '"; + } + + template <> + inline const char* + ex_uel_unexpected () + { + return "unexpected element '"; + } + + template <> + inline const char* + ex_eat_expected () + { + return "expected attribute '"; + } + + template <> + inline const char* + ex_uen_unexpected () + { + return "unexpected enumerator '"; + } + + template <> + inline const char* + ex_etc_msg () + { + return "expected text content"; + } + + template <> + inline const char* + ex_nti_no_type_info () + { + return "no type information available for type '"; + } + + template <> + inline const char* + ex_nei_no_element_info () + { + return "no parsing or serialization information available for " + "element '"; + } + template <> + inline const char* + ex_nd_type () + { + return "type '"; + } + + template <> + inline const char* + ex_nd_not_derived () + { + return "' is not derived from '"; + } + + template <> + inline const char* + ex_di_id () + { + return "ID '"; + } + + template <> + inline const char* + ex_di_already_exist () + { + return "' already exist"; + } + + template <> + inline const char* + ex_serialization_msg () + { + return "serialization failed"; + } + + template <> + inline const char* + ex_npm_no_mapping () + { + return "no mapping provided for namespace prefix '"; + } + + template <> + inline const char* + ex_bounds_msg () + { + return "buffer boundary rules have been violated"; + } + } + } + } +} + +#endif // XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR +#endif // XSD_CXX_TREE_USE_CHAR + + +#if defined(XSD_CXX_TREE_USE_WCHAR) || !defined(XSD_CXX_TREE_USE_CHAR) + +#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR +#define XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR + +namespace xsd +{ + namespace cxx + { + namespace tree + { + namespace bits + { + // + // + template<> + inline const wchar_t* + true_ () + { + return L"true"; + } + + template<> + inline const wchar_t* + one () + { + return L"1"; + } + + // + // + template<> + inline const wchar_t* + positive_inf () + { + return L"INF"; + } + + template<> + inline const wchar_t* + negative_inf () + { + return L"-INF"; + } + + template<> + inline const wchar_t* + nan () + { + return L"NaN"; + } + + // + // + template<> + inline const wchar_t* + not_present () + { + return L""; + } + + // + // + template <> + inline const wchar_t* + xml_schema () + { + return L"http://www.w3.org/2001/XMLSchema"; + } + + // + // + template <> + inline const wchar_t* + any_type () + { + return L"anyType"; + } + + template <> + inline const wchar_t* + any_simple_type () + { + return L"anySimpleType"; + } + + template <> + inline const wchar_t* + string () + { + return L"string"; + } + + template <> + inline const wchar_t* + normalized_string () + { + return L"normalizedString"; + } + + template <> + inline const wchar_t* + token () + { + return L"token"; + } + + template <> + inline const wchar_t* + name () + { + return L"Name"; + } + + template <> + inline const wchar_t* + nmtoken () + { + return L"NMTOKEN"; + } + + template <> + inline const wchar_t* + nmtokens () + { + return L"NMTOKENS"; + } + + template <> + inline const wchar_t* + ncname () + { + return L"NCName"; + } + + template <> + inline const wchar_t* + language () + { + return L"language"; + } + + + template <> + inline const wchar_t* + id () + { + return L"ID"; + } + + template <> + inline const wchar_t* + idref () + { + return L"IDREF"; + } + + template <> + inline const wchar_t* + idrefs () + { + return L"IDREFS"; + } + + template <> + inline const wchar_t* + any_uri () + { + return L"anyURI"; + } + + template <> + inline const wchar_t* + qname () + { + return L"QName"; + } + + template <> + inline const wchar_t* + base64_binary () + { + return L"base64Binary"; + } + + template <> + inline const wchar_t* + hex_binary () + { + return L"hexBinary"; + } + + template <> + inline const wchar_t* + date () + { + return L"date"; + } + + template <> + inline const wchar_t* + date_time () + { + return L"dateTime"; + } + + template <> + inline const wchar_t* + duration () + { + return L"duration"; + } + + template <> + inline const wchar_t* + gday () + { + return L"gDay"; + } + + template <> + inline const wchar_t* + gmonth () + { + return L"gMonth"; + } + + template <> + inline const wchar_t* + gmonth_day () + { + return L"gMonthDay"; + } + + template <> + inline const wchar_t* + gyear () + { + return L"gYear"; + } + + template <> + inline const wchar_t* + gyear_month () + { + return L"gYearMonth"; + } + + template <> + inline const wchar_t* + time () + { + return L"time"; + } + + template <> + inline const wchar_t* + entity () + { + return L"ENTITY"; + } + + template <> + inline const wchar_t* + entities () + { + return L"ENTITIES"; + } + + template <> + inline const wchar_t* + gday_prefix () + { + return L"---"; + } + + template <> + inline const wchar_t* + gmonth_prefix () + { + return L"--"; + } + + // + // + template <> + inline const wchar_t* + ex_error_error () + { + return L" error: "; + } + + template <> + inline const wchar_t* + ex_error_warning () + { + return L" warning: "; + } + + template <> + inline const wchar_t* + ex_parsing_msg () + { + return L"instance document parsing failed"; + } + + template <> + inline const wchar_t* + ex_eel_expected () + { + return L"expected element '"; + } + + template <> + inline const wchar_t* + ex_uel_expected () + { + return L"expected element '"; + } + + template <> + inline const wchar_t* + ex_uel_instead () + { + return L"' instead of '"; + } + + template <> + inline const wchar_t* + ex_uel_unexpected () + { + return L"unexpected element '"; + } + + template <> + inline const wchar_t* + ex_eat_expected () + { + return L"expected attribute '"; + } + + template <> + inline const wchar_t* + ex_uen_unexpected () + { + return L"unexpected enumerator '"; + } + + template <> + inline const wchar_t* + ex_etc_msg () + { + return L"expected text content"; + } + + template <> + inline const wchar_t* + ex_nti_no_type_info () + { + return L"no type information available for type '"; + } + + template <> + inline const wchar_t* + ex_nei_no_element_info () + { + return L"no parsing or serialization information available for " + L"element '"; + } + template <> + inline const wchar_t* + ex_nd_type () + { + return L"type '"; + } + + template <> + inline const wchar_t* + ex_nd_not_derived () + { + return L"' is not derived from '"; + } + + template <> + inline const wchar_t* + ex_di_id () + { + return L"ID '"; + } + + template <> + inline const wchar_t* + ex_di_already_exist () + { + return L"' already exist"; + } + + template <> + inline const wchar_t* + ex_serialization_msg () + { + return L"serialization failed"; + } + + template <> + inline const wchar_t* + ex_npm_no_mapping () + { + return L"no mapping provided for namespace prefix '"; + } + + template <> + inline const wchar_t* + ex_bounds_msg () + { + return L"buffer boundary rules have been violated"; + } + } + } + } +} + +#endif // XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR +#endif // XSD_CXX_TREE_USE_WCHAR diff --git a/xsd-4.0.0/xsd/cxx/tree/buffer.hxx b/xsd-4.0.0/xsd/cxx/tree/buffer.hxx new file mode 100644 index 0000000..c7c726f --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/buffer.hxx @@ -0,0 +1,337 @@ +// file : xsd/cxx/tree/buffer.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +/** + * @file + * + * @brief Contains a simple binary buffer abstraction that is used to + * implement the base64Binary and hexBinary XML Schema built-in types. + * + * This is an internal header and is included by the generated code. You + * normally should not include it directly. + * + */ + +#ifndef XSD_CXX_TREE_BUFFER_HXX +#define XSD_CXX_TREE_BUFFER_HXX + +#include // operator new/delete +#include // std::size_t +#include // std::memcpy, std::memcmp + +#include + +namespace xsd +{ + namespace cxx + { + /** + * @brief C++/Tree mapping runtime namespace. + * + * This is an internal namespace and normally should not be referenced + * directly. Instead you should use the aliases for types in this + * namespaces that are created in the generated code. + * + */ + namespace tree + { + //@cond + + class buffer_base + { + protected: + virtual + ~buffer_base () + { + if (free_ && data_) + operator delete (data_); + } + + buffer_base () + : data_ (0), size_ (0), capacity_ (0), free_ (true) + { + } + + protected: + char* data_; + size_t size_; + size_t capacity_; + bool free_; + }; + + //@endcond + + /** + * @brief Simple binary %buffer abstraction + * + * The %buffer class manages a continuous binary %buffer. The base + * concepts are data (actual memory region), size (the portion of + * the %buffer that contains useful information), and capacity (the + * actual size of the underlying memory region). The bounds + * %exception is thrown from the constructors and modifier functions + * if the (size <= capacity) constraint is violated. + * + * Note that the template parameter is only used to instantiate + * %exception types. The underlying %buffer type is always @c char. + * + * @nosubgrouping + */ + template + class buffer: protected buffer_base + { + public: + /** + * @brief Size type + */ + typedef std::size_t size_t; + + public: + /** + * @name Constructors + */ + //@{ + + /** + * @brief Allocate a %buffer of the specified size. + * + * The resulting %buffer has the same size and capacity. + * + * @param size A %buffer size in bytes. + */ + explicit + buffer (size_t size = 0); + + /** + * @brief Allocate a %buffer of the specified size and capacity. + * + * @param size A %buffer size in bytes. + * @param capacity A %buffer capacity in bytes. + * @throw bounds If @a size exceeds @a capacity + */ + buffer (size_t size, size_t capacity); + + /** + * @brief Allocate a %buffer of the specified size and copy + * the data. + * + * The resulting %buffer has the same size and capacity with + * @a size bytes copied from @a data. + * + * @param data A %buffer to copy the data from. + * @param size A %buffer size in bytes. + */ + buffer (const void* data, size_t size); + + /** + * @brief Allocate a %buffer of the specified size and capacity + * and copy the data. + * + * @a size bytes are copied from @a data to the resulting + * %buffer. + * + * @param data A %buffer to copy the data from. + * @param size A %buffer size in bytes. + * @param capacity A %buffer capacity in bytes. + * @throw bounds If @a size exceeds @a capacity + */ + buffer (const void* data, size_t size, size_t capacity); + + /** + * @brief Reuse an existing %buffer. + * + * If the @a assume_ownership argument is true, the %buffer will + * assume ownership of @a data and will release the memory + * by calling @c operator @c delete(). + * + * @param data A %buffer to reuse. + * @param size A %buffer size in bytes. + * @param capacity A %buffer capacity in bytes. + * @param assume_ownership A boolean value indication whether to + * assume ownership. + * @throw bounds If @a size exceeds @a capacity + */ + buffer (void* data, + size_t size, + size_t capacity, + bool assume_ownership); + + /** + * @brief Copy constructor. + * + * The copy constructor performs a deep copy of the underlying + * memory %buffer. + * + * @param x An instance to make a copy of. + */ + buffer (const buffer& x); + + //@} + + public: + /** + * @brief Copy assignment operator. + * + * The copy assignment operator changes the buffer's capacity + * to @c x.capacity() and copies @c x.size() bytes from @a x. + * + * @param x An instance to assign. + * @return A reference to the instance. + */ + buffer& + operator= (const buffer& x); + + public: + /** + * @brief Get buffer's capacity. + * + * @return A number of bytes that the %buffer can hold without + * reallocation. + */ + size_t + capacity () const + { + return capacity_; + } + + /** + * @brief Set buffer's capacity. + * + * @param c The new capacity in bytes. + * @return True if the underlying %buffer has moved, false otherwise. + */ + bool + capacity (size_t c) + { + return this->capacity (c, true); + } + + public: + /** + * @brief Get buffer's size. + * + * @return A number of bytes that the %buffer holds. + */ + size_t + size () const {return size_;} + + /** + * @brief Set buffer's size. + * + * @param s The new size in bytes. + * @return True if the underlying %buffer has moved, false otherwise. + */ + bool + size (size_t s) + { + bool r (false); + + if (s > capacity_) + r = capacity (s); + + size_ = s; + + return r; + } + + public: + /** + * @brief Get the underlying memory region. + * + * @return A constant pointer to the underlying memory region. + */ + const char* + data () const {return data_;} + + /** + * @brief Get the underlying memory region. + * + * @return A pointer to the underlying memory region. + */ + char* + data () {return data_;} + + /** + * @brief Get the beginning of the underlying memory region. + * + * @return A constant pointer to the first byte of the underlying + * memory region. + */ + const char* + begin () const {return data_;} + + /** + * @brief Get the beginning of the underlying memory region. + * + * @return A pointer to the first byte of the underlying memory + * region. + */ + char* + begin () {return data_;} + + /** + * @brief Get the end of the underlying memory region. + * + * @return A constant pointer to the one past last byte of the + * underlying memory region (that is @c %begin() @c + @c %size() ). + */ + const char* + end () const {return data_ + size_;} + + /** + * @brief Get the end of the underlying memory region. + * + * @return A pointer to the one past last byte of the underlying + * memory region (that is @c %begin() @c + @c %size() ). + */ + char* + end () {return data_ + size_;} + + public: + /** + * @brief Swap data with another %buffer. + * + * @param x A %buffer to swap with. + */ + void + swap (buffer& x); + + private: + bool + capacity (size_t capacity, bool copy); + }; + + /** + * @brief %buffer comparison operator. + * + * @return True if the buffers have the same sizes and the same + * data. + */ + template + inline bool + operator== (const buffer& a, const buffer& b) + { + return a.size () == b.size () && + std::memcmp (a.data (), b.data (), a.size ()) == 0; + } + + /** + * @brief %buffer comparison operator. + * + * @return True if the buffers have different sizes or different + * data. + */ + template + inline bool + operator!= (const buffer& a, const buffer& b) + { + return !(a == b); + } + } + } +} + +#include + +#endif // XSD_CXX_TREE_BUFFER_HXX diff --git a/xsd-4.0.0/xsd/cxx/tree/buffer.txx b/xsd-4.0.0/xsd/cxx/tree/buffer.txx new file mode 100644 index 0000000..bd36c53 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/buffer.txx @@ -0,0 +1,147 @@ +// file : xsd/cxx/tree/buffer.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +namespace xsd +{ + namespace cxx + { + namespace tree + { + template + buffer:: + buffer (size_t size) + { + capacity (size); + size_ = size; + } + + template + buffer:: + buffer (size_t size, size_t capacity) + { + if (size > capacity) + throw bounds (); + + this->capacity (capacity); + size_ = size; + } + + template + buffer:: + buffer (const void* data, size_t size) + { + capacity (size); + size_ = size; + + if (size_) + std::memcpy (data_, data, size_); + } + + template + buffer:: + buffer (const void* data, size_t size, size_t capacity) + { + if (size > capacity) + throw bounds (); + + this->capacity (capacity); + size_ = size; + + if (size_) + std::memcpy (data_, data, size_); + } + + template + buffer:: + buffer (void* data, size_t size, size_t capacity, bool own) + { + if (size > capacity) + throw bounds (); + + data_ = reinterpret_cast (data); + size_ = size; + capacity_ = capacity; + free_ = own; + } + + template + buffer:: + buffer (const buffer& other) + : buffer_base () + { + capacity (other.capacity_); + size_ = other.size_; + + if (size_) + std::memcpy (data_, other.data_, size_); + } + + template + buffer& buffer:: + operator= (const buffer& other) + { + if (this != &other) + { + capacity (other.capacity_, false); + size_ = other.size_; + + if (size_) + std::memcpy (data_, other.data_, size_); + } + + return *this; + } + + template + void buffer:: + swap (buffer& other) + { + char* tmp_data (data_); + size_t tmp_size (size_); + size_t tmp_capacity (capacity_); + bool tmp_free (free_); + + data_ = other.data_; + size_ = other.size_; + capacity_ = other.capacity_; + free_ = other.free_; + + other.data_ = tmp_data; + other.size_ = tmp_size; + other.capacity_ = tmp_capacity; + other.free_ = tmp_free; + } + + template + bool buffer:: + capacity (size_t capacity, bool copy) + { + if (size_ > capacity) + throw bounds (); + + if (capacity <= capacity_) + { + return false; // Do nothing if shrinking is requested. + } + else + { + char* data (reinterpret_cast (operator new (capacity))); + + if (copy && size_ > 0) + std::memcpy (data, data_, size_); + + if (free_ && data_) + operator delete (data_); + + data_ = data; + capacity_ = capacity; + free_ = true; + + return true; + } + } + } + } +} diff --git a/xsd-4.0.0/xsd/cxx/tree/comparison-map.hxx b/xsd-4.0.0/xsd/cxx/tree/comparison-map.hxx new file mode 100644 index 0000000..dd3e0a8 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/comparison-map.hxx @@ -0,0 +1,113 @@ +// file : xsd/cxx/tree/comparison-map.hxx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_COMPARISON_MAP_HXX +#define XSD_CXX_TREE_COMPARISON_MAP_HXX + +#include +#include // std::size_t +#include + +#include + +namespace xsd +{ + namespace cxx + { + namespace tree + { + template + struct comparison_map + { + typedef std::type_info type_id; + typedef bool (*comparator) (const type&, const type&); + + comparison_map (); + + void + register_type (const type_id&, comparator, bool replace = true); + + void + unregister_type (const type_id&); + + bool + compare (const type&, const type&); + + public: + comparator + find (const type_id&) const; + + private: + struct type_id_comparator + { + bool + operator() (const type_id* x, const type_id* y) const + { + // XL C++ on AIX has buggy type_info::before() in that + // it returns true for two different type_info objects + // that happened to be for the same type. + // +#if defined(__xlC__) && defined(_AIX) + return *x != *y && x->before (*y); +#else + return x->before (*y); +#endif + } + }; + + typedef + std::map + type_map; + + type_map type_map_; + }; + + // + // + template + struct comparison_plate + { + static comparison_map* map; + static std::size_t count; + + comparison_plate (); + ~comparison_plate (); + }; + + template + comparison_map* comparison_plate::map = 0; + + template + std::size_t comparison_plate::count = 0; + + + // + // + template + inline comparison_map& + comparison_map_instance () + { + return *comparison_plate::map; + } + + // + // + template + bool + comparator_impl (const type&, const type&); + + template + struct comparison_initializer + { + comparison_initializer (); + ~comparison_initializer (); + }; + } + } +} + +#include + +#endif // XSD_CXX_TREE_COMPARISON_MAP_HXX diff --git a/xsd-4.0.0/xsd/cxx/tree/comparison-map.txx b/xsd-4.0.0/xsd/cxx/tree/comparison-map.txx new file mode 100644 index 0000000..6793ad0 --- /dev/null +++ b/xsd-4.0.0/xsd/cxx/tree/comparison-map.txx @@ -0,0 +1,301 @@ +// file : xsd/cxx/tree/comparison-map.txx +// author : Boris Kolpackov +// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include + +namespace xsd +{ + namespace cxx + { + namespace tree + { + // comparison_map + // + template + comparison_map:: + comparison_map () + { + // anyType and anySimpleType. + // + + //register_type ( + // typeid (type), + // &comparator_impl, + // false); + + typedef simple_type simple_type; + + //register_type ( + // typeid (simple_type), + // &comparator_impl, + // false); + + + // Strings + // + typedef string string; + register_type ( + typeid (string), + &comparator_impl, + false); + + typedef normalized_string normalized_string; + register_type ( + typeid (normalized_string), + &comparator_impl, + false); + + typedef token token; + register_type ( + typeid (token), + &comparator_impl, + false); + + typedef name name; + register_type ( + typeid (name), + &comparator_impl, + false); + + typedef nmtoken nmtoken; + register_type ( + typeid (nmtoken), + &comparator_impl, + false); + + typedef nmtokens nmtokens; + register_type ( + typeid (nmtokens), + &comparator_impl, + false); + + typedef ncname ncname; + register_type ( + typeid (ncname), + &comparator_impl, + false); + + typedef language language; + register_type ( + typeid (language), + &comparator_impl, + false); + + + // ID/IDREF. + // + typedef id id; + register_type ( + typeid (id), + &comparator_impl, + false); + + typedef idref idref; + register_type ( + typeid (idref), + &comparator_impl, + false); + + typedef idrefs idrefs; + register_type ( + typeid (idrefs), + &comparator_impl, + false); + + + // URI. + // + typedef uri uri; + register_type ( + typeid (uri), + &comparator_impl, + false); + + + // Qualified name. + // + typedef qname qname; + register_type ( + typeid (qname), + &comparator_impl, + false); + + + // Binary. + // + typedef base64_binary base64_binary; + register_type ( + typeid (base64_binary), + &comparator_impl, + false); + + typedef hex_binary hex_binary; + register_type ( + typeid (hex_binary), + &comparator_impl, + false); + + + // Date/time. + // + typedef gday gday; + register_type ( + typeid (gday), + &comparator_impl, + false); + + typedef gmonth gmonth; + register_type ( + typeid (gmonth), + &comparator_impl, + false); + + typedef gyear gyear; + register_type ( + typeid (gyear), + &comparator_impl, + false); + + typedef gmonth_day gmonth_day; + register_type ( + typeid (gmonth_day), + &comparator_impl, + false); + + typedef gyear_month gyear_month; + register_type ( + typeid (gyear_month), + &comparator_impl, + false); + + typedef date date; + register_type ( + typeid (date), + &comparator_impl, + false); + + typedef time time; + register_type ( + typeid (time), + &comparator_impl